2015-01-06 9 views
2

Недавно я начал работать с c++. Я слышал о exported functions, но не знаю, что это значит.Что означает «Экспортированная функция» в C++?

поэтому мои вопросы о:

  1. Что такое exported function?
  2. Есть ли разница между normal function и exported function? если да, то что это?
  3. Как это связано с dll?
+0

Функция, «экспортированная», будет скомпилирована либо как динамическая библиотека, либо как статическая библиотека. Затем эта библиотека будет связана, и ее заголовки включаются в исходный код, который клиент хочет повторно использовать. В Windows вам придется настроить параметры проекта, чтобы создать файл .dll, а не файл .exe. Нет никакой реальной разницы между нормальной функцией и экспортируемой функцией; однако на C++ вы можете обнаружить, что экспортируемая функция содержится в пространстве имен, не говоря уже о том, что инкапсулируется классом. Файл .dll просто содержит всю эту информацию, а не exec. но библиотека. – Poriferous

ответ

2
  1. Что такое функция экспорта?

Когда вы программируете модули (фрагменты кода), вам нужно вызвать в некотором модуле функцию, определенную в каком-либо другом модуле. Экспорт относится к этому процессу. В C/C++, если вы хотите объявить функцию, чтобы использовать ее, не определяя ее в исходном файле, вы должны использовать ключевое слово «extern». В файле, где определена эта функция, вам нечего делать, по умолчанию объекты в глобальной области автоматически экспортируются.

  1. Есть ли разница между нормальной функцией и нормальной (вы подразумеваете экспортируемой) функцией? если да, то что это?

Ничего особенного, за исключением того, что позднее видны во время связи.

  1. как это связано с dll?

См., http://msdn.microsoft.com/en-us/library/a90k134d.aspx для экспорта DLL и функций для DLL. В таком случае вы должны объявить, какая функция должна быть экспортирована.

 Смежные вопросы

  • Нет связанных вопросов^_^