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

319
Сочетание C ++ и C - как работает #ifdef __cplusplus?

Я работаю над проектом, в котором много унаследованного кода на Си . Мы начали писать на C ++ с намерением в конечном итоге также преобразовать устаревший код. Я немного озадачен тем, как взаимодействуют C и C ++. Я понимаю , что обертывание C кода extern "C"на C ++ компилятор не будет искажать C...

136
Зачем нам нужен extern «C» {#include <foo.h>} в C ++?

Почему мы должны использовать: extern "C" { #include <foo.h> } В частности: Когда мы должны использовать это? Что происходит на уровне компилятора / компоновщика, что требует от нас его использования? Как с точки зрения компиляции / компоновки это решает проблемы, которые требуют от нас его...

136
Почему функции C не могут быть искажены по имени?

Недавно у меня было интервью, и был задан один вопрос: в чем смысл использования extern "C"кода на C ++? Я ответил, что это использование функций C в коде C ++, так как C не использует искажение имен. Меня спросили, почему C не использует искажение имен и, честно говоря, я не мог ответить. Я...

93
Вызов функции C из кода C ++

У меня есть функция C, которую я хотел бы вызвать из C ++. Я не мог использовать " extern "C" void foo()" подход, потому что функция C не могла быть скомпилирована с использованием g ++. Но он отлично компилируется с использованием gcc. Есть идеи, как вызвать функцию из C ++?...

84
Как вызвать функцию C ++ из C?

Я знаю это. Вызов функции C из C ++: Если бы мое приложение было на C ++ и мне пришлось бы вызывать функции из библиотеки, написанной на C. Тогда я бы использовал //main.cpp extern "C" void C_library_function(int x, int y);//prototype C_library_function(2,4);// directly using it. Это не повлияет...