Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Экспорт глобальных переменных из DLL (VC++ 2008) 
:(
    Опции темы
erslgoeirjh
Дата 9.2.2015, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



В консольном DLL (консольное приложение, помеченное как DLL), разрабатываемом в среде Visual Studio 2008, есть структура Eph:

Код

struct Eph
{
    long double TH;
    long double TK;
    long double DT;
};



Есть в этом DLL и глобальная переменная Tph типа Eph:

Код

Eph  Tph;



Вопрос: как мне правильно экспортировать эту глобальную переменную Tph из DLL и как её правильно импортировать в клиентскую программу, чтобы я мог нормально работать с этой переменной--менять её значения (то есть присваивать значения полям этой переменной)и считывать значения её полей?
Сама эта переменная Tph используется функциями внутри DLL, которые работают с ней (записывают в неё значения и считывают значения из неё).

PM MAIL   Вверх
erslgoeirjh
Дата 9.2.2015, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Прочитал:

http://support.microsoft.com/kb/90530/en-us

Как я понял, с DLL нужно написать:

Код

struct Eph
{
    long double TH;
    long double TK;
    long double DT;
};

__declspec(dllexport) Eph Tph;


а в клиентской программе написать:

Код

struct Eph
{
    long double TH;
    long double TK;
    long double DT;
}

__declspec(dllimport) Eph Tph;

//...

Tph.TH = 1.0;
Tph.TK = 2.0;
Tph.DT = 3.0;



В связи с этим у меня два вопроса:
1) надо ли в .DEF-файле писать:

Цитата

EXPORTS
Tph DATA


2) нужно ли DLL перед __declspec(dllimport) , а в клиентской программе __declspec(dllimport) писать extern "C" ?

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


 




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


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

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