Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Как к Дельфи коду прикрутить С++ либу


Автор: andrew_121 10.6.2008, 12:33
Есть прога, написана на Дельфи.
К ней нужно прикрутить MPICH2.
Как это можно сделать ?
И возможно ли это вАще ?

Автор: Любитель 10.6.2008, 13:11
Что за MPCIH2?

Возможно - функции из длл же дельфи умеет подключать. Смотрим, объявления ВинАПИ-шных функций или подключений функций Qt2 в CLX (т. е. это даже С++, а не С).


Автор: andrew_121 10.6.2008, 15:04
MPICH — это одна из самых первых разработанных библиотек MPI. На ее базе было создано большое количество других библиотек как OpenSource, так и коммерческих. В настоящее время существует две ветви исходных кодов: MPICH1 и MPICH2. Разработка ветви MPICH1 практически заморожена. Ветвь MPICH2 разрабатывается и обновляется до сих пор в Арагонской лаборатории, США.

http://www.mcs.anl.gov/research/projects/mpich2/

Автор: Любитель 10.6.2008, 15:35
Раз функции сишные - вообще не вижу проблем. Билдишь длл-ку, пишешь модуль для дельфей, где объявляешь нужные функции. Юзаешь smile

Автор: andrew_121 10.6.2008, 15:41
Цитата

Раз функции сишные - вообще не вижу проблем. Билдишь длл-ку, пишешь модуль для дельяей, где объявляешь нужные функции. Юзаешь


А, вот это красненькое слово, как переводится?
Что-то я совсем не понял о чем сдесь речь!
По подробней позжалуйста...

Автор: mrbrooks 10.6.2008, 15:55
Ой лан тебе не понял  что такое дельяей smile 

Есть такая утилита tdump.exe. Через нее смотришь какие есть функции для вызовы из библы и соответственно средствами Дельфятинки их вызываешь. Гы.

Например так: tdump mydll.dll > d.txt и смотришь после заголовка в полученном файле Exports from mydll.dll функции.  Естественно учитывай путь к библе при использование tdump. 

Автор: Любитель 10.6.2008, 15:55
Исправил. Пример использования сишных фукнций из длл - смотри в Windows.pas, например.

Автор: Alexeis 10.6.2008, 16:35
  Если есть сорцы, то можно все модули скомпилить билдером и слинковать в делфи. 
Syntax 
 {$L filename}
 

Автор: Любитель 10.6.2008, 17:35
Alexeis, я что-т не понял, а что это даёт кроме избавления от длл-ки? Объявления функций ведь всё равно писать надо или они автоматом будут подхвачены?

Автор: andrew_121 10.6.2008, 17:38
tdump.exe - Это вроди с Билдера тулза ?
Все, понял.
Спасибо.

Автор: Alexeis 10.6.2008, 18:10
Цитата(Любитель @  10.6.2008,  16:35 Найти цитируемый пост)
Объявления функций ведь всё равно писать надо или они автоматом будут подхвачены?


  Объявления нужны, иначе компилятор не сможет проверить синтаксис. Dll это все таки отдельный PE модуль со своим менеджером памяти и прочими заморочками. Однако совместное линкование тоже не сахар, потому что obj файлы билдера ссылаются на С++ CRT, которых нет в Delphi. Их нужно будет либо импортировать Dll ны VC, либо сделать оболочки над соответствующими системными функциями Delphi. Зато получается изящно, без проблем с версиями Dll.

Автор: andrew_121 10.6.2008, 21:19
Цитата

Зато получается изящно, без проблем с версиями Dll.

Зато получаеться что, обчинка выделки не стОит.

Ладно, всем спасибо. Понял что оно не стОит того.

Автор: jonie 10.6.2008, 22:08
http://www.google.com/search?client=opera&rls=ru&q=h2pas&sourceid=opera&ie=utf-8&oe=utf-8
может пригодится...
а так-то сделал длл-ку, и прикрутил к ней pas файл. все. на этом все закончится...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)