Описание тега extern-c
ʻExtern "C"`используется для обозначения того, что функции и переменные C++ должны иметь связь C вместо связи C++, что позволяет модулям C и C++ взаимодействовать друг с другом. Тег extern-c следует использовать только в вопросах C++, где предметом обсуждения является поведение объявлений с 'extern "C"'.
0
ответов
Не могу вставить другой view-контроллер при передаче данных из unity3d в iOS
У меня есть мост между Unity 3D и iOS для передачи данных. Я могу успешно отправить данные из Unity 3D на мою iOS, используя extern "C", затем я могу вызвать метод объективного c из метода extern "c". Но из метода объективного c, если я хочу подтолк…
19 апр '17 в 09:51
0
ответов
Вызов кода C++ из C с использованием встроенных классов и шаблонов C++
Поэтому я хочу использовать string class а также multiset template из C++. Мой оригинальный код интерфейсов от Python в C с помощью ctypes и сейчас я пытаюсь интерфейс C в C++, (Если есть прямое взаимодействие между Python & C++Я бы приветствовал эт…
02 апр '18 в 08:57
1
ответ
Ошибка: ожидаемый неквалифицированный идентификатор на внешнем "C"
У меня есть код cpp, в котором я хочу вызвать функцию переменного тока. Оба компилируются хорошо в.o файлы, но когда clang ++ выполняется для компиляции, я получаю следующую ошибку: file.cpp:74:12: error: expected unqualified-id extern "C" ^ Код в ф…
25 май '15 в 14:14
1
ответ
Для внешнего "C" или не для внешнего "C" [g++ против cl]
Я сравниваю Численные Рецепты four1.c с БПФ Наюки. Обе версии C, но я использую драйвер C++. Для сравнения я собираю (или, точнее, связываю) оба файла в исполняемый файл с CL.exe и g ++. Похоже, что эти двое борются из-за того, использовать ли exter…
25 янв '19 в 17:03
2
ответа
Какие виды функций C++ могут быть помещены в указатель функции C?
У меня есть библиотека C, которая использует структуру указателей на функции для обратных вызовов. Обратные вызовы будут вызываться из кода Си. extern "C" { typedef struct callbacks_t { void (*foo) (const char*); int (*bar) (int); } callbacks_t; }//…
29 апр '16 в 15:10
6
ответов
Требуется ли extern "C" только для объявления функции?
Я написал C++ функцию, которую мне нужно вызывать из C программы. Чтобы сделать его вызываемым из C, я указал extern "C" в объявлении функции. Затем я скомпилировал код C++, но компилятор (Dignus Systems/C++) сгенерировал искаженное имя для функции.…
04 сен '09 в 18:30
5
ответов
Невозможно вызвать функцию C++ из кода C
Я новичок в смешивании кода C & C++. Понял необходимость директив extern & __cplusplus после прочтения некоторых ссылок SO и онлайн-чтения. Не уверен, почему я получаю ошибку. Я что-то пропустил? Заголовок C++: cppexh.h #include <iostream> #if…
01 сен '17 в 16:19
4
ответа
Внешний и внешний "С" для переменных
Я пишу разделяемую библиотеку C++ для использования на C-программе. Тем не менее, у меня есть вопрос о extern а также extern "C", Рассмотрим следующий код Мой заголовочный файл выглядит так: #ifdef __cplusplus extern "C" int global; extern "C" int a…
01 июл '16 в 09:06
1
ответ
Передача указателя на функцию C++ в проекте C
У меня огромный проект C. И теперь мне нужна функция C++ для заполнения некоторых переменных. С объявлением функции как extern "C", было нетрудно вызвать функцию из C Project. Проблема в том, что мне нужно передать указатель на функцию C++, а в функ…
03 мар '16 в 15:02
2
ответа
Могу ли я иметь указатель на указатель на const в C++?
В основном мне интересно, что-то вроде f(const void* a){ // This is also what `(char**) a` would do behind the scenes char** string_a_ptr {reinterpret_cast<char**>(const_cast<void*>(a))}; // ... возможно при сохранении const Классификато…
02 фев '17 в 07:18
9
ответов
Как работает внешняя декларация "C"?
Я беру курс языков программирования, и мы говорим о extern "C" декларация. Как это объявление работает на более глубоком уровне, кроме "оно взаимодействует с C и C++"? Как это влияет на привязки, которые также имеют место в программе?
08 мар '10 в 17:49
1
ответ
Внешние функции "C" в скомпилированном объектном коде
Средой является Microsoft Visual C++ 2015 и Windows 7. Есть ли что-то особенное в inline extern "C" функции определены в заголовке? Я использую SDK, в котором один из заголовков содержит такого зверя. В моем приложении у меня есть одиночный TU (моду…
29 май '16 в 18:22
2
ответа
Вы должны использовать extern "C" в файле, который имеет только определения?
Бессмысленно иметь: #ifdef __cplusplus extern "C" { #endif // code... #ifdef __cplusplus } #endif Где "код..." - это просто набор определений и typedefs (без включений и т. Д.)?
10 июн '17 в 04:42
6
ответов
Как вызвать функцию C++ из C?
Я знаю это. Вызов функции C из C++: Если бы мое приложение было на C++, и мне нужно было вызывать функции из библиотеки, написанной на C. Тогда я бы использовал //main.cpp extern "C" void C_library_function(int x, int y);//prototype C_library_functi…
30 апр '10 в 11:36
3
ответа
Ключевое слово extern в c
Возможный дубликат: Зачем нам нужен extern "C" {#include } в C++? много раз в нашем коде я видел некоторые утверждения, подобные следующим: extern "C" { //some code }; что это значит?
28 мар '11 в 17:26
3
ответа
extern C возвращает объект класса
Я хочу иметь плагин с более простым именем для разрешения в другом коде C++. class B { }; extern "C" B foo(); // to avoid name mangling in order to be loaded by dlsym А в другой части программы (которая также находится на C++ и имеет то же определен…
27 янв '13 в 15:35
2
ответа
Невозможно вызвать код C++ из C без ошибок
Я пытаюсь написать библиотеку C++, которую можно вызвать из C. Однако всякий раз, когда я пытаюсь написать хотя бы минимальный пример, он вылетает с неопределенными ссылками. Вот мой код: mylibrary.h #ifndef __MY_CPP_THING_H #define __MY_CPP_THING_H…
14 сен '18 в 08:03
0
ответов
Extern "c" для функции, экспортированной из DLL
Используя extern "c" для моего объявления функции, я могу избавиться от искажения имени в C++ и иметь только искажение имени в C. Однако я мог бы использовать.def файлы и добиться подобного результата. 1. Есть ли какая-либо другая цель объявить его …
25 апр '18 в 09:37
3
ответа
Как ограничить доступ к статическим переменным в C++?
У меня есть C-функция с именем "count", которая выглядит так: void count(){ static int c = 0; printf("Counter=%i", c); c++; } Кроме того, у меня есть вектор Cpp-объектов, и каждый объект вызывает функцию "count". Поскольку переменная counter являетс…
26 май '16 в 17:33
3
ответа
Разница между внешним "C" и просто внешним
Я видел код C/C++, использующий extern "C", объявленный в сигнатурах функций, а также при включении заголовка C в файл CPP. но некоторые функции просто объявляют extern перед своей подписью (без "C"). QN1: оба эти способа определения функций имеют о…
20 янв '15 в 14:51