Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
mister2010
0 / 0 / 0
Регистрация: 23.05.2010
Сообщений: 64
#1

Нахождение _export в теле extern - C++

02.06.2010, 16:37. Просмотров 822. Ответов 1
Метки нет (Все метки)


http://www.cyberforum.ru/cpp-beginners/thread2031303.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2010, 16:37
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Нахождение _export в теле extern (C++):

Extern в C/C++
Оговорка - собирал все под VS2015 и под него же с Clang'ом для убедительности....

extern
Собственно как правильно пользоваться такой штукой? 1. Где нужно использовать:...

директива extern
Никак н могу понять как решить проблму с директивой extern. Я подключил к...

Extern template
Не могу понять, в книге пишут: Примерно понимаю, при компиляции будет...

Использование extern с функциями
Добрый вечер! Скажем я задекларировал в каком-то модуле функцию extern void...

1
odip
Эксперт С++
7161 / 3219 / 76
Регистрация: 17.06.2009
Сообщений: 14,161
02.06.2010, 17:29 #2
Лучший ответ Сообщение было отмечено mister2010 как решение

Решение

C++
1
2
3
extern "C" {
  int тут_некая_функция()
}
Это обозначает что тут_некая_функция() будет использовать совместимый с языком C способ вызова функции.
Язык C и язык C++ используют разные способы вызова своих функций.
Если некий объектный файл или библиотека ( что суть архив объектных файлов ) скомпилирован с помощью компилятора C
а затем нужно вызывать эти функции из языка C++,
то как раз это указание и нужно для компилятора C++.
Иначе он будет думать что это функции C++ и вызывать их как C++ функции и при сборке будет полная ерунда.

Обычно код несколько не такой:

C
1
2
3
4
5
6
7
8
9
#ifdef __cplusplus
extern "C" {
#endif
 
int some_func();
 
#ifdef __cplusplus
}
#endif
Такое обрамление позволяет компилироваться этому коду и в C и в C++
так как конструкцию extern "C" не понимает компилятор C++
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2010, 17:29
Привет! Вот еще темы с решениями:

что такое extern?
что будет если не написать extern,если можно с примерами

Зачем нужен extern?
Знаю, что в интернете полно объяснений зачем он, но я не могу понять... Везде...

Extern Class obj
Доброго времени суток. Пишу многомодульный проект, каждый модуль состоит из...

Ключевое слово extern
Взято отсюда: Теперь вопрос: почему так делать нельзя? Я написал программу,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru