реклама на сайте
подробности

 
 
> Научите как подружить С++ и С? (кросс-вызов функций)
Sergio_chiper
сообщение Sep 27 2007, 12:38
Сообщение #1





Группа: Новичок
Сообщений: 6
Регистрация: 20-10-06
Пользователь №: 21 521



Имеем проект написанный в С++.
Необходимо вызывать функции из чужой библиотеки, написанной на С. Это я умею smile.gif. Но вдруг пришлось из этой библиотеки на С обратиться к другой библиотеке на С++.
Задача кросс-вызовов, в моём случае, может быть ограничена только обращениями к функциям. В крайнем случае, можно дёргать без параметров.
Аттрибутов функций аналогичных __stdcall в IARе я не нашёл. sad.gif

Памажите!!!
Не хочу переписывать библиотеку на С++, слишком много ошибок на преобразование типов даёт sad.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
mdmitry
сообщение Sep 28 2007, 08:12
Сообщение #2


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



В любом заголовочном файле для CPP "extern C" явно видно. dxp уже ответил.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
zltigo
сообщение Sep 28 2007, 08:14
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(mdmitry @ Sep 28 2007, 11:12) *
В любом заголовочном файле для CPP "extern C" явно видно.

Только спрашивали не об этом sad.gif и вызов родных С++ функций из C нормального и тем более стандартизированного решения не имеет, ввиду нестандартизированности преобразования имен C++ функций в зависимости от аргументов и возвращаемых значений.
В принципе это не смертельно, если не называть нечто писанное на C++ "библиотекой" и при этом не иметь ее исходников.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Sep 28 2007, 19:45
Сообщение #4


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(zltigo @ Sep 28 2007, 12:14) *
Только спрашивали не об этом sad.gif и вызов родных С++ функций из C нормального и тем более стандартизированного решения не имеет, ввиду нестандартизированности преобразования имен C++ функций в зависимости от аргументов и возвращаемых значений.
В принципе это не смертельно, если не называть нечто писанное на C++ "библиотекой" и при этом не иметь ее исходников.

Не досмотрел о вызове C++ из C. Здесь согласен, чтот нет стандартного доступа


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 14:30
Рейтинг@Mail.ru


Страница сгенерированна за 0.01383 секунд с 7
ELECTRONIX ©2004-2016