Вопрос № 62280: Можно ли в Паскале как-нибудь вызывать функции Си?
Например, есть Си-библиотека (в виде .a или .so) и набор заголовочных файлов. Надо вызвать некоторые функции из этой библиотеки.
Можно ли провернуть такое с Си++?...
Вопрос № 62.280
Можно ли в Паскале как-нибудь вызывать функции Си?
Например, есть Си-библиотека (в виде .a или .so) и набор заголовочных файлов. Надо вызвать некоторые функции из этой библиотеки.
Можно ли провернуть такое с Си++?
Отправлен: 12.11.2006, 12:28
Вопрос задал: Tundravarg (статус: 1-ый класс)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 3)
Отвечает: sir henry
Здравствуйте, Tundravarg!
Никакие функции Си в Паскале вызвать нельзя. Все названия обрабатываются во время компиляции компилятором и если функцияпроцедура не соответствует по названию или параметрам именно Паскалю, то будет сообщение об ошибке.
Вы можете вызвать какую-либо функцию из динамически линкуемой библиотеки (DLL), из тех, название которой указано в разделе exports. Относительно юниксовых библиотек положение абсолютно тоже самое.
Вы создаете заголовочный файл *.pas, в котором в разделе interface описываете заголовок функции из динамической библиотеки, затем подключаете этот модуль к своей программе в разделе Uses и можете пользоваться этой функцией обычным образом.
************
Примечание.
Только учтите, что юниксовые библиотеки (*.so) в Windows работать не будут. И соответственно наоборот. :)
Ответ отправил: sir henry (статус: Академик) Россия, Красноярск ---- Ответ отправлен: 12.11.2006, 12:50