Вопросы с тегом 'extern-c'

`extern "C" используется для обозначения того, что функции и переменные С++ должны иметь C-ссылку вместо С++-связи, позволяя C-и С++-модулям взаимодействовать друг с другом. Тег extern-c должен использоваться только на вопросах С++, где предметом обсуждения является поведение деклараций с "extern "C".
1
ответ

Почему искажение имени сделано для этой функции?

Я компилирую с g++ 8.1.0. Функция test_func до _Z9test_funcjP1A. Но почему? Разве внешний extern "C" мешать g++ манипулировать этой функцией? Заголовок: #if defined(_MSC_VER) // Microsoft #define EXPORT __declspec(dllexport) #define IMPORT __decls...
задан 10 дек. '18 в 11:36
1
ответ

ошибка LNK2019: неразрешенный внешний символ

У меня возникла проблема с компиляцией старого встроенного проекта MFC WIN CE в Windows 7 visual studio 2010. Я считаю, что старое приложение было скомпилировано во встроенной Visual Studio 4 и необходимо mfcce211.dll. Любой, кому все исходные файл...
задан 24 апр. '15 в 14:59
1
ответ

ошибка: ожидаемый неквалифицированный идентификатор на внешнем "C"

У меня есть код cpp, в котором я хочу вызвать функцию ac. Оба хорошо компилируются в.o файлы, но когда clang++ выполняет компиляцию, я получаю следующую ошибку: file.cpp:74:12: error: expected unqualified-id extern "C" ^ Код в файле...
задан 25 мая '15 в 17:14
3
ответов

Как ограничить доступ к статическим переменным в C++?

У меня есть C -function, называемый "count", который выглядит так: void count(){ static int c = 0; printf("Counter=%i", c); c++; } Futhermore У меня есть вектор Cpp-объектов, и каждый объект вызывает функцию count. Поскольку переменная счет...
задан 26 мая '16 в 20:33
2
ответов

Неразрешенные внешние и внешние "С"?

Как новый, как я C++, я не совсем понимаю эту связь и прочее. И я думаю, что это касается ссылки extern "C". extern "C" { int loadbmp(char *filename, unsigned char **buf, int *w, int *h, int pf, int bottomup); const char *bmpgeterr(void)...
задан 11 авг. '13 в 21:33
2
ответов

clang++ игнорирует extern "C" для некоторых предупреждений об устаревании?

Если я использую clang 3.8.1 для компиляции: extern "C" { int foo(int x) { register int y = x; return y; } } int main() { return foo(123); } Я получаю предупреждение: a.cpp:3:18: warning: 'register' storage class specifier is deprecated and incom...
задан 18 апр. '17 в 17:14
0
ответов

Невозможно нажать другой диспетчер представлений при передаче данных из единицы3d в iOS

У меня есть мост между единством 3d и iOS для передачи данных. Я могу успешно отправлять данные из единства 3d в iOS, используя extern "C", затем я могу вызвать объектный c-метод из метода extern "c". Но из метода объектива c, если я хочу нажать еще...
задан 19 апр. '17 в 12:51
2
ответов

Если вы используете extern "C" в файле, который только определил?

Не имеет смысла иметь: #ifdef __cplusplus extern "C" { #endif // code... #ifdef __cplusplus } #endif Где "код..." - это всего лишь множество определений и typedefs (нет включает и т.д.)?
задан 10 июня '17 в 7:42
1
ответ

VS2013 C++ Имя компилятора Mangling, определяемое с помощью extern "C"

Я пытаюсь создать консольное приложение WIN32, которое использует текущую статическую библиотеку 2.12.28 ftd2xx.lib от FTDI. Я использую VS2013 и собственный неуправляемый C++. Мой звонок выглядит так. #include "../ftd2xx.h" . . . DWORD port_co...
задан 03 нояб. '17 в 4:19
1
ответ

Проверьте, имеет ли функция, вызванная с помощью функции-указателя, оператор возврата

У нас есть плагиновая система, которая вызывает функции в dll (пользовательские плагины) путем dlopening/LoadLibrarying dll/so/dylib, а затем dlsyming/GetProcAddressing функцию, а затем сохранение этого результата в указателе функции. К сожалению, ...
задан 28 дек. '17 в 5:11
0
ответов

Вызов кода C++ из C с использованием встроенных C++ классов и шаблонов

Поэтому я хочу использовать string class и C++. multiset template C++. Мои исходные интерфейсы кода от Python до C с использованием ctypes и теперь я пытаюсь C++ C с C++. (Если существует прямая связь между Python и C++, я бы приветствовал это пред...
задан 02 апр. '18 в 11:57
0
ответов

Extern "c" для функции, экспортируемой из DLL

Используя extern "c" для объявления моей функции, я могу избавиться от изменения имени c++ и иметь только имя C. Однако я мог бы использовать файлы.def и добиваться аналогичного результата. 1. Есть ли другая цель для объявления его как extern "c", е...
задан 25 апр. '18 в 12:37
1
ответ

Неразрешенный внешний член класса при связывании статической библиотеки с динамической dll

MS Visual Studio 2008. Это, похоже, проблема с изменением имени, но я не могу найти правильные условия поиска, чтобы придумать ответ. У меня есть динамическая библиотека, в которой есть класс, в котором используется класс ведения журнала из статиче...
задан 30 марта '17 в 18:22