![]() |
|
Модераторы: bsa |
![]()
|
|
| mister2010 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 25.5.2010 Репутация: нет Всего: нет |
Что означает вот этот идентификатор _export?
|
|||
|
||||
| A5uKa |
|
|||
|
TЋ♥s F1rȜ iƧ BurȠiƞg ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 1928 Регистрация: 30.8.2008 Репутация: 2 Всего: 16 |
Создание библиотеки импорта этого.
export - получение из этой библиотеки этого, после её подключения. |
|||
|
||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 4 Всего: 39 |
говорим что мы хотим экспортировать переменную, функцию, класс и т.д. из допустим DLL при статической линковке.
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| mister2010 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 25.5.2010 Репутация: нет Всего: нет |
Почему _export должен находится внутри фигурных скобок
|
|||
|
||||
| A5uKa |
|
|||
|
TЋ♥s F1rȜ iƧ BurȠiƞg ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 1928 Регистрация: 30.8.2008 Репутация: 2 Всего: 16 |
Не должен, а extern "C" полагаю означает, что Маша написана на C, так всё получается вполне логично )
|
|||
|
||||
| mister2010 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 25.5.2010 Репутация: нет Всего: нет |
Когда я подключил скомпилированный длл к файлу екзе, каким образом идёт пользование экспортируемыми функциями, они вызываются в файле екзе?
Это сообщение отредактировал(а) mister2010 - 2.6.2010, 15:25 |
|||
|
||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 4 Всего: 39 |
ну как у тебя функции вызываются обычные, так и из DLL
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| mister2010 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 25.5.2010 Репутация: нет Всего: нет |
Файл езке вызывает функции которые я экспортировал?
|
|||
|
||||
| mister2010 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 25.5.2010 Репутация: нет Всего: нет |
export - получение из этой библиотеки вызово функций, после её подключения, а екстерн, это для самого файла FAR.dll чтоб в этом файле FAR.dll можно было реализовать функции, прототипы которых мы взяли из файла plugin.hpp?
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
mister2010, если не секрет, что у тебя с русским языком? Ну нельзя же делать столько ошибок!
Есть два кардинально противоположных ключевых слов (нестандартных): __export и __import. Когда ты пишешь библиотеку, то ты помечаешь все функции/классы/переменные атрибутом __export. Таким образом, эти объекты помещаются в публичную область библиотеки. Затем, когда ты пишешь программу, использующую эту библиотеку, ты помечаешь объявления тех же самых функций/классов/переменных словом __import. В этом случае компилятор будет пытаться найти указанные объекты в динамических библиотеках, которые ты подключаешь к проекту. Правильные программисты народ ленивый (китайцы, индусы и им подобные не в счет). Им лень писать два раза один и тот же код, поэтому они делают один общий хидер с объявлениями функций/классов/переменных, используя макросы препроцессора для подстановки правильных __export/__import. Делается это так:
extern "C" нужен для того, чтобы компилятор сгенерировал имя функции в стили языка С. Так как в противном случае будет очень сложно его узнать для ручного импорта из библиотеки (GetProcAddress). |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |