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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
korez
8 / 8 / 0
Регистрация: 22.02.2011
Сообщений: 182
#1

структура в dll - C++

15.09.2011, 00:58. Просмотров 1045. Ответов 6
Метки нет (Все метки)

как объявить структуру чтобы ее видели все функции?
объявляю ее вне всех функций и все равно не видят.
и как эту структуру сделать видимой для других программ(экспортируемой)?
C++
1
2
struct struct1{
int a};
это схема программы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include ...........
#define ............
 
struct1 stest;
 
functioin1()
{}
 
functioin2()
{}
 
functioin3()
{}
 
functioin4()
{
stest.a = 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.09.2011, 00:58     структура в dll
Посмотрите здесь:

Структура C++
структура C++
Структура C++
C++ Структура
C++ Структура
C++ Структура
Структура C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
15.09.2011, 11:56     структура в dll #2
Цитата Сообщение от korez Посмотреть сообщение
как объявить структуру чтобы ее видели все функции?
объявляю ее вне всех функций и все равно не видят.
и как эту структуру сделать видимой для других программ(экспортируемой)?
- проще всего дать повторное объяевление этой структуры уже в исполняемом модуле, юзающем DLL. Вот накидал Simple проект DLL (StructDLL), в которой присутсвует структура
C++
1
2
3
4
5
struct DLLStruct
{
    char sVal[256];
    int iVal;
};
и проекта использующего эту DLL (UseStructDLL), вот листинг main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <windows.h>
#include <stdio.h>
 
#define IMPORT __declspec (dllimport)
 
#pragma comment(lib,"StructDLL.lib") 
 
struct DLLStruct
{
    char sVal[256];
    int iVal;
};
 
IMPORT void UpdatetStruct(DLLStruct &st);
IMPORT void PrintStruct(DLLStruct st); 
IMPORT DLLStruct GetDLLStruct();
int main()
{
    printf("Program which showes using DLL structures\r\n");
    DLLStruct st;
    UpdatetStruct((st = GetDLLStruct()));
    PrintStruct(st);
    system("pause");
    return 0;
}
Как видишь я дал повторное объявление struct DLLStruct и спокойно пользуюсь ей в программе

[Результат работы]
Program which showes using DLL structures
Enter sVal :fgdgdfg
Enter iVal :215
sVal : fgdgdfg
iVal : 215
Для продолжения нажмите любую клавишу . . .
Вложения
Тип файла: rar StructDLL.rar (7.5 Кб, 21 просмотров)
Тип файла: rar UseStructDLL.rar (17.9 Кб, 18 просмотров)
korez
8 / 8 / 0
Регистрация: 22.02.2011
Сообщений: 182
16.09.2011, 02:10  [ТС]     структура в dll #3
у меня нет и небудет кодов исполняемого модуля.
talis
791 / 543 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
16.09.2011, 02:13     структура в dll #4
Цитата Сообщение от korez Посмотреть сообщение
у меня нет и небудет кодов исполняемого модуля.
но для отладки-то вы напишите что-то простое, верно? как иначе?
korez
8 / 8 / 0
Регистрация: 22.02.2011
Сообщений: 182
16.09.2011, 06:04  [ТС]     структура в dll #5
коммерческий продукт.
-=ЮрА=-
Заблокирован
Автор FAQ
16.09.2011, 08:03     структура в dll #6
Цитата Сообщение от korez Посмотреть сообщение
у меня нет и небудет кодов исполняемого модуля.
- обойдись без стрктур замени DLLStruct на void *

Добавлено через 4 минуты
Цитата Сообщение от korez Посмотреть сообщение
коммерческий продукт.
PS:Коммерческий продукту всягда техописанием снабжают, там то и можно указать структуру - по моему этот путь наиболее простой
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.09.2011, 12:14     структура в dll
Еще ссылки по теме:

C++ структура
Структура C++
Структура C++
структура C++
Структура C++

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

Или воспользуйтесь поиском по форуму:
-=ЮрА=-
Заблокирован
Автор FAQ
16.09.2011, 12:14     структура в dll #7
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- обойдись без стрктур замени DLLStruct на void *
-Усовершенствовал свой предыдущий DLL теперь проект UseStructDLL не содержит в себе DLLStruct
Миниатюры
структура в dll  
Вложения
Тип файла: rar StructDLL2.rar (9.2 Кб, 24 просмотров)
Тип файла: rar UseStructDLL2.rar (19.4 Кб, 16 просмотров)
Yandex
Объявления
16.09.2011, 12:14     структура в dll
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru