Форум программистов, компьютерный форум CyberForum.ru

_export - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.79
mister2010
0 / 0 / 0
Регистрация: 23.05.2010
Сообщений: 64
01.06.2010, 22:39     _export #1
Что означает вот этот идентификатор _export?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2010, 22:39     _export
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
odip
Эксперт C++
 Аватар для odip
7225 / 3287 / 58
Регистрация: 17.06.2009
Сообщений: 14,165
02.06.2010, 08:33     _export #2
Код покажи.
mister2010
0 / 0 / 0
Регистрация: 23.05.2010
Сообщений: 64
02.06.2010, 17:36  [ТС]     _export #3
Вот исходник.
Вложения
Тип файла: rar ПРОЕКТ.rar (1.8 Кб, 28 просмотров)
mister2010
0 / 0 / 0
Регистрация: 23.05.2010
Сообщений: 64
03.06.2010, 14:43  [ТС]     _export #4
Кто-нибудь, подскажите будь-ласка.

Добавлено через 16 часов 1 минуту
Что никто не знает?
Aaxenon
Light Knight
 Аватар для Aaxenon
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
03.06.2010, 14:48     _export #5
C++ экспорт ключевого слова разработан, чтобы избавить от необходимости включать определение шаблона (или обеспечивая определение файлового заголовка или включением файла выполнения).

http://www.parashift.com/c++-faq-lit...html#faq-35.14

вот более подробно
mister2010
0 / 0 / 0
Регистрация: 23.05.2010
Сообщений: 64
03.06.2010, 16:36  [ТС]     _export #6
Файл езке вызывает функции которые я экспортировал в файл екзе? Если да, то как вызов происходит самим файлом екзе?
Aaxenon
Light Knight
 Аватар для Aaxenon
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
03.06.2010, 17:07     _export #7
в данной программе идет описание функции Far, с которой идет работа

Far работает по тем же принципам, что и Windows - происходит ссылка в программе на те функции, которые уже имеются в системе, которые можно использовать. Far предоставляет функции для работы с экранными формами в режиме console application.
т.е. используются готовые шаблоны, которые имеются в системе
mister2010
0 / 0 / 0
Регистрация: 23.05.2010
Сообщений: 64
03.06.2010, 17:29  [ТС]     _export #8
Ответьте пожалуйста на вопрос в 6 посте.
Что означает extern, почему внутри его экспорты?
Aaxenon
Light Knight
 Аватар для Aaxenon
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
03.06.2010, 17:32     _export #9
Модификатор extern описывает переменную, объявленную в другом файле или другом месте программы (такая переменная называется внешней). Модификатор extern обычно используется при раздельной компиляции исходных файлов, в дальнейшем объединяемых при построении исполняемого (.ехе) файла.
mister2010
0 / 0 / 0
Регистрация: 23.05.2010
Сообщений: 64
03.06.2010, 18:18  [ТС]     _export #10
export - получение из этой библиотеки вызовов функций, после её подключения, а екстерн, это для самого файла FAR.dll чтоб в этом файле FAR.dll можно было реализовать функции, прототипы которых мы взяли из файла plugin.hpp?
Aaxenon
Light Knight
 Аватар для Aaxenon
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
03.06.2010, 18:32     _export #11
ну в общем верно
mister2010
0 / 0 / 0
Регистрация: 23.05.2010
Сообщений: 64
03.06.2010, 19:48  [ТС]     _export #12
Объясните ещё такие места с кода:
Код
struct FarMenuItem MenuItems[2] =
Откуда взялся такой тип структуры FarMenuItem, зачем он?

C++
1
2
3
4
void WINAPI _export SetStartupInfo (struct PluginStartupInfo *Info)
{
::Info = *Info; 
}
Что означает вообще вся эта функция?
C++
1
Info->StructSize = sizeof(*Info);
Что вот это такое?
C++
1
2
3
4
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
return 1;
}
Зачем вот это.


C++
1
static struct PluginStartupInfo Info;
Зачем в самом начале вот такую стркоу писать?
Aaxenon
Light Knight
 Аватар для Aaxenon
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
03.06.2010, 20:13     _export #13
C++
1
struct FarMenuItem MenuItems[2] =
это, так скажем, описание меню, которое создаст Far
Структура FarMenuItem описывает один пункт меню
C++
1
2
3
4
void WINAPI _export SetStartupInfo (struct PluginStartupInfo *Info)
{
::Info = *Info; 
}
Эта функция вызывается для получения информации о plug-in. Нужно заполнить поля структуры
Info.
Иными словами, просто передаём указатель на структуру, чтобы Far знал где она лежит
C++
1
Info->StructSize = sizeof(*Info);
Размер структуры Info
C++
1
2
3
4
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
return 1;
}
в этом моменте можно отреагировать на загрузку библиотеки процессом, потоком и выгрузку
C++
1
static struct PluginStartupInfo Info;
Информация о нашем plug-in-е
т.е. создается информация и заносится в постоянную память

вот как бы так
mister2010
0 / 0 / 0
Регистрация: 23.05.2010
Сообщений: 64
03.06.2010, 22:06  [ТС]     _export #14
Как вот этот код:
C++
1
2
    
Info->StructSize = sizeof(*Info);
Сочитается с этим:
C++
1
::Info = *Info;
Вот это не до конца понятно ,что куда заносится от куда.
C++
1
static struct PluginStartupInfo Info;
Aaxenon
Light Knight
 Аватар для Aaxenon
106 / 29 / 3
Регистрация: 03.06.2010
Сообщений: 361
04.06.2010, 10:41     _export #15
C++
1
Info->StructSize = sizeof(*Info);
Размер структуры Info
C++
1
void WINAPI _export SetStartupInfo(struct PluginStartupInfo *Info) { ::Info=*Info; }
получение информации о plug-in-е
при этом сначала идет получение, а потом размер структуры
C++
1
static struct PluginStartupInfo Info;
ну это вообще идет описание функций Far, а именно это статические данные о plug-in-е(заносятся в долговременную память
Yandex
Объявления
04.06.2010, 10:41     _export
Ответ Создать тему
Опции темы

Текущее время: 16:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru