Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Использевание EXTERN_C 
:(
    Опции темы
vdm
Дата 11.10.2008, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 236
Регистрация: 16.10.2007

Репутация: нет
Всего: нет



EXTERN_C - в каких случаях и для чего используется, не могли бы розъяснить подробнее?
PM MAIL   Вверх
jonie
Дата 12.10.2008, 01:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 6
Всего: 118



применяется для, например, запрета перегрузки.
суть этой фигни в том, что она говорит компилятору не видоизменять имя функции при внесении ее во внутренюю таблицу при компиляции (и, возможно, при экспорте из модуля).
Т.о. компилятор не может отличить функцию void foo() от void foo(int) , т.к. они для него будут называться (в случае применения EXTERN "C") одинаково (если быть точный то зваться будут они "foo").
Эта штука есть наследие Си, и очень не рекомендуется ведущими сабоководами к использованию, однако, иногда необходима.

Еще пример такой необходимости - экспорт функций в библиотеке. Стандартна на видоизменения имени С++ функции нет, и, производители разных компиляторов делают все по своему. Если не будет  EXTERN "C", то два модуля, скомпилированных разными компиляторами не будут работать.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.2287 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.