Форум: "Основная";
Текущий архив: 2005.09.18;
Скачать: [xml.tar.bz2];
ВнизC++ в Delphi Найти похожие ветки
← →
ArtemESC (2005-08-25 14:34) [0]Можно ли к Delphi проекту добавить модулб C++? Если
да то как?
← →
Reindeer Moss Eater © (2005-08-25 14:38) [1]Project-> Add to Project->Browse
Что мы видим в фильтрах расширений файла?
← →
Digitman © (2005-08-25 14:43) [2]
> Можно ли
нельзя.
НЕТ там, в "си / си-пласах/шарпах/прочей си-дребедени" никаких "модулей", так что и добавлять как бы нечего.
← →
Defunct © (2005-08-25 21:43) [3]> Digitman
а obj модулем назвать нельзя?
← →
palva © (2005-08-25 22:59) [4]Надо написать модуль на паскале (unit), но вместо реализации функций подключить объектный модуль {$I <имя файла.obj>} Объектный модуль нужно откомпилировать из исходников на C/C++ борландовским компилятором bcc32. Получившийся unit компилируется обычным делфи компилятором (включается в проект). Я опустил много важных подробностей, но общая схема такая.
← →
DrPass © (2005-08-25 23:18) [5]
> {$I <имя файла.obj>}
{$L <имя файла.obj>}
$I - это для вставки текстовых файлов препроцессором
← →
palva © (2005-08-25 23:58) [6]DrPass © (25.08.05 23:18) [5]
Точно!
← →
wicked © (2005-08-26 01:19) [7]замечу, что директивой {$L <имя файла.obj>} практически реально подключить только сишный модуль, ни никак не си++...
← →
Digitman © (2005-08-26 09:29) [8]
> Defunct © (25.08.05 21:43) [3]
> а obj модулем назвать нельзя?
можно.
но вопрос не о obj, а о якобы модулях с исх.текстами на С++
а если таки obj, то см. [7] - С++-компилятор (от Майкрософт) использует иной результирующий формат obj-файлов, отличный от формата используемого Делфи-линкером, так что подключить obj-модули, полученные в результате компиляции С++ текстов в компилирующей среде от MS, к Делфи-проекту не представляется возможным
← →
palva © (2005-08-26 10:06) [9]> Defunct © (25.08.05 21:43) [3]
> а obj модулем назвать нельзя?
Модуль это ведь наверно что-то вроде Unit? Там должна присутствовать в каком-то виде информация из секции interface. В кто время как obj не содержит информации о типах данных и прототипах функций - голые двоичные данные и код. Правда если ухитриться запихнуть в obj дополнительную информацию... да еще так, чтобы ее понимал дельфийский линкер... Ну эти мечты уже осуществлены в механизме COM.
← →
Чапаев © (2005-08-26 10:29) [10]> практически реально подключить только сишный модуль, ни никак не си++...
Неправда Ваша. Просто экспортируемые функции следует объявлять как extern "C", дабы избегнуть name mangling"а. Вроде бы ещё это можно сделать, указав компилятору какой-то ключ...
ЗЫ. Естественно, речь идёт о компиляции борландовским комплятором.
← →
DrPass © (2005-08-26 10:58) [11]
> Чапаев © (26.08.05 10:29) [10]
> > практически реально подключить только сишный модуль, ни
> никак не си++...
> Неправда Ваша. Просто экспортируемые функции следует объявлять
> как extern "C", дабы избегнуть name mangling"а. Вроде бы
> ещё это можно сделать, указав компилятору какой-то ключ...
Если ты укажешь extern "C", на выходе ты получишь обычный сишный obj :)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.09.18;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.01 c