|
Совместное использование *.сpp файлов и *.c, Не компилируются совместно файлы Си и Си++ |
|
|
|
 |
Ответов
|
Jun 9 2011, 08:05
|

Местный
  
Группа: Участник
Сообщений: 240
Регистрация: 14-04-10
Из: Россия, г.Челябинск
Пользователь №: 56 634

|
Цитата(MrYuran @ Jun 9 2011, 12:43)  В хедерах си-шных модулей надо вставить скобки Код #ifdef __cplusplus BEGIN_EXTERN_C #endif ... #ifdef __cplusplus END_EXTERN_C #endif , где Код #define BEGIN_EXTERN_C extern "C" { #define END_EXTERN_C } Компилировать и линковать в режиме "плюсов" Компилится. Только не в хэдерах си-шных модулей, а в хэдере си++ модуля. У меня только так заработало.
|
|
|
|
|
Jun 16 2011, 18:24
|
Знающий
   
Группа: Свой
Сообщений: 524
Регистрация: 25-12-08
Из: Москва
Пользователь №: 42 748

|
Цитата(mdmitry @ Jun 9 2011, 13:47)  Можно ставить с любых заголовочных файлах, которые включаются в проект для с и cpp. в принципе если извратица то можно из сишной программы вызывать с++ модули. у вас проблема в том, что С++ делает такую хрень как name mangling. то есть при линковке имена ваших функций становятся такими что их сишный линкер не может понять. решение которое вам подсказали вверху заставляет линкер не искажать имя функции. но если вы попробуете предложить несколько функций с одинаковым названием-перегруженные, то опять получите ошибку.
|
|
|
|
Сообщений в этой теме
kolobochishe Совместное использование *.сpp файлов и *.c Jun 9 2011, 07:22 MrYuran В хедерах си-шных модулей надо вставить скобки
Код... Jun 9 2011, 07:43 sergeeff Проще прямо написать
Код#ifdef __cplusplus
extern ... Jun 9 2011, 07:46   sergeeff Цитата(inventor @ Jun 16 2011, 22:24) в п... Jun 17 2011, 10:24    zltigo QUOTE (sergeeff @ Jun 17 2011, 13:24) про... Jun 17 2011, 12:54     sergeeff Цитата(zltigo @ Jun 17 2011, 16:54) С и С... Jun 17 2011, 13:20      zltigo QUOTE (sergeeff @ Jun 17 2011, 16:20) Хот... Jun 17 2011, 13:33      Сергей Борщ QUOTE (sergeeff @ Jun 17 2011, 16:20) Хот... Jun 17 2011, 13:40       zltigo QUOTE (Сергей Борщ @ Jun 17 2011, 16:40) ... Jun 17 2011, 13:59       dxp Цитата(Сергей Борщ @ Jun 17 2011, 20:40) ... Jun 17 2011, 14:09      Danis Цитата(sergeeff @ Jun 17 2011, 16:20) Хот... Jun 17 2011, 13:57 sonycman А наоборот может быть - ошибка при вызове из си++ ... Jun 18 2011, 09:38 sergeeff Цитата(sonycman @ Jun 18 2011, 12:38) А н... Jun 18 2011, 13:51  sonycman Цитата(sergeeff @ Jun 18 2011, 17:51) Вы ... Jun 19 2011, 17:36   AHTOXA Цитата(sonycman @ Jun 19 2011, 23:36) Но ... Jun 19 2011, 18:04    sonycman Цитата(AHTOXA @ Jun 19 2011, 22:04) Именн... Jun 19 2011, 19:14     sergeeff Цитата(sonycman @ Jun 19 2011, 22:14) Пон... Jun 19 2011, 20:30      sonycman Цитата(sergeeff @ Jun 20 2011, 00:30) А э... Jun 19 2011, 21:17       dxp Цитата(sonycman @ Jun 20 2011, 04:17) Я о... Jun 20 2011, 02:59       XVR Цитата(sonycman @ Jun 20 2011, 01:17) Не ... Jun 20 2011, 08:42        sonycman Цитата(dxp @ Jun 20 2011, 06:59) Если ком... Jun 20 2011, 09:13         XVR Цитата(sonycman @ Jun 20 2011, 13:13) Так... Jun 20 2011, 09:21          sonycman Цитата(XVR @ Jun 20 2011, 13:21) Разумеет... Jun 20 2011, 09:34         dxp Цитата(sonycman @ Jun 20 2011, 16:13) Инт... Jun 20 2011, 12:04          zltigo QUOTE (dxp @ Jun 20 2011, 14:04) Мне попа... Jun 20 2011, 12:15           inventor Кстати, никогда не делайте программы для DSP и кон... Jun 22 2011, 10:52            dxp Цитата(inventor @ Jun 22 2011, 17:52) Кст... Jun 22 2011, 12:13             inventor Цитата(dxp @ Jun 22 2011, 16:13)
Вам сюд... Jun 22 2011, 13:59              dxp Цитата(inventor @ Jun 22 2011, 20:59) Для... Jun 22 2011, 14:48               zltigo QUOTE (dxp @ Jun 22 2011, 17:48) Заинтриг... Jun 22 2011, 17:52              XVR Цитата(inventor @ Jun 22 2011, 17:59) Для... Jun 22 2011, 19:19               inventor Цитата(XVR @ Jun 22 2011, 23:19) Угу, вид... Jun 23 2011, 11:21                MrYuran Цитата(inventor @ Jun 23 2011, 15:21) код... Jun 23 2011, 11:30                dxp Цитата(inventor @ Jun 23 2011, 18:21) код... Jun 23 2011, 12:35                 inventor Цитата(dxp @ Jun 23 2011, 16:35) Это тако... Jun 23 2011, 16:41                XVR Цитата(inventor @ Jun 23 2011, 15:21) код... Jun 23 2011, 17:54                ar__systems Цитата(inventor @ Jun 23 2011, 07:21) код... Jul 4 2011, 01:14            AHTOXA Цитата(inventor @ Jun 22 2011, 16:52) Все... Jun 22 2011, 14:48 sergeeff Уж сколько понаписано про преждевременную оптимиза... Jun 24 2011, 10:45 zltigo QUOTE (sergeeff @ Jun 24 2011, 13:45) Уж ... Jun 24 2011, 13:15  inventor Цитата(zltigo @ Jun 24 2011, 17:15) глупо... Jun 24 2011, 15:50  sergeeff Цитата(zltigo @ Jun 24 2011, 16:15) глупо... Jun 25 2011, 09:41   zltigo QUOTE (sergeeff @ Jun 25 2011, 11:41) А ч... Jun 25 2011, 09:47    sergeeff Цитата(zltigo @ Jun 25 2011, 12:47) После... Jun 25 2011, 17:38     zltigo QUOTE (sergeeff @ Jun 25 2011, 19:38) Ров... Jun 25 2011, 18:53      sergeeff Цитата(zltigo @ Jun 25 2011, 21:53) Вы оп... Jun 25 2011, 22:44       Dog Pawlowa Цитата(sergeeff @ Jun 26 2011, 01:44) Про... Jun 26 2011, 05:03       inventor Цитата(sergeeff)Сделали. И вдруг (или не вдруг) на... Jun 26 2011, 06:35       zltigo QUOTE (sergeeff @ Jun 26 2011, 00:44) Име... Jun 26 2011, 08:26        sergeeff Цитата(zltigo @ Jun 26 2011, 11:26) Забыл... Jun 26 2011, 09:37         zltigo QUOTE (sergeeff @ Jun 26 2011, 12:37) Одн... Jun 26 2011, 10:18          sergeeff Цитата(zltigo @ Jun 26 2011, 13:18) Катег... Jun 26 2011, 10:39      MrYuran Цитата(zltigo @ Jun 25 2011, 22:53) Все у... Jun 27 2011, 06:43 dxp Цитата(inventor @ Jun 24 2011, 22:50) Не ... Jun 27 2011, 06:57 MrYuran Цитата(dxp @ Jun 27 2011, 10:57) Даже есл... Jun 27 2011, 07:02  dxp Цитата(MrYuran @ Jun 27 2011, 14:02) Согл... Jun 27 2011, 10:44 zltigo QUOTE (dxp @ Jun 27 2011, 08:57) Насчёт А... Jun 27 2011, 08:20
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|