LINUX.ORG.RU

Вызов С++ из проги на С


0

0

Есть библиотека на С++. И есть прога на С. Хотелось бы из С-шной программы делать вызовы этой библиотеки. Как это реализовать? Хотелось бы услышать и то, как это сделать без модификации кода библиотеки и с модификацией библиотеки (если этот вариант проще).

Спасибо. Николай

anonymous

Это зависит от того, что за библиотека. Если она не объектно-ориентированная, то просто все точки входа которые должны вызываться из C должны быть объявлены extern "C" чтобы избежать name mangling. Если она объектно-ориентированная -- то никакого красивого решения нет. Даже если написать wrapper, все равно могут быть проблемы с глобальными конструкторами/деструкторами. То есть, под gcc 3.2/i386-linux, например, все в порядке -- но что может быть с другими cистемами -- бог знает.

aa5779
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.