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

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

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

Объявление и создание глобальной структуры в dll - C++

08.03.2014, 12:46. Просмотров 304. Ответов 5
Метки нет (Все метки)

объявление я сделал в .h файле но так как структуру нужно создать то вопрос в каком файле это делать и где(проект win32, Visual studio 2012).
C++
1
2
3
4
5
struct mystruct
{ int a;
   int b; }
//объявлял так
mystruct mystruct1;
я объявлял
1 в главном файле до начало всех функции но полсе подключения .h файлов
2. в файле где есть функция dllmain(у меня отдельный файл)
3. если объявлю в акдом файле где испоьзуется структура то происходит "очевидное" переопределение
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2014, 12:46     Объявление и создание глобальной структуры в dll
Посмотрите здесь:

C++ Объявление структуры и класса
C++ Создание структуры)))
C++ Строки. Создание, объявление и компановка. Перевод из string в char[]
Различие глобальной и глобальной статической переменной C++
C++ Преобразовать тип данных char[] -> wchar -> BYTE для структуры DATA_BLOB crypt32.dll
C++ Объявление указателя на структуру в объявлении структуры
C++ Создание копии объекта используя объявление через указатель
C++ Объявление класса, создание объекта и вызов функции-члена
Как обратиться к полям структуры через указатель и объявление указателя на структуру C++
Не понимаю объявление структуры C++
C++ Объявление и определение глобального массива структуры
Объявление стека как члена структуры C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kventin_zhuk
БНТУ ФИТР
 Аватар для kventin_zhuk
215 / 155 / 15
Регистрация: 26.12.2012
Сообщений: 382
08.03.2014, 14:07     Объявление и создание глобальной структуры в dll #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
korez, в h файле. Его уже подключаете куда требуется. dllMain файл пихаете реалихацию этих функций. При подключении h-ника с помощью дирректив препроцессора идет проверка на переопределение. Так что заэто не переживайте
ValeryS
Модератор
6453 / 4919 / 451
Регистрация: 14.02.2011
Сообщений: 16,320
08.03.2014, 14:13     Объявление и создание глобальной структуры в dll #3
Цитата Сообщение от kventin_zhuk Посмотреть сообщение
При подключении h-ника с помощью дирректив препроцессора идет проверка на переопределение.
щаз еше
это если в одной единице трансляции а если в разных?
Цитата Сообщение от korez Посмотреть сообщение
C++
1
2
3
4
5
struct mystruct
{ int a;
   int b; }
//объявлял так
mystruct mystruct1;
сделай так
C++
1
2
3
4
struct mystruct
{ int a;
   int b; }
extern mystruct mystruct1;
а в каком то одном файле
C++
1
mystruct mystruct1;
структура один раз создастся
тогда компилятор будет знать что структура где то объявлена и с ума не сойдет

но если не сделаешь
C++
1
mystruct mystruct1;
то сойдет с ума линкер, нет переменных
korez
8 / 8 / 0
Регистрация: 22.02.2011
Сообщений: 182
08.03.2014, 14:35  [ТС]     Объявление и создание глобальной структуры в dll #4
<<это если в одной единице трансляции а если в разных?>>
нет не в .h файлах а файлах где я использовал свою структуру.
ValeryS
Модератор
6453 / 4919 / 451
Регистрация: 14.02.2011
Сообщений: 16,320
08.03.2014, 14:48     Объявление и создание глобальной структуры в dll #5
Цитата Сообщение от korez Посмотреть сообщение
нет не в .h файлах а файлах где я использовал свою структуру.
а причем здесь h файлы?
единица трансляции это С файлы

еще раз помедленнее
file1.h

C++
1
2
3
4
struct mystruct
{ int a;
   int b; }
extern mystruct mystruct1;
file1.c
C++
1
2
3
4
include "file1.h"
mystruct mystruct1; // один раз в одном файле
...........................
mystruct1.a=5;
file2.c
C++
1
2
3
include "file1.h"
..........................
mystruct1.a=6;
file3.c

C++
1
2
3
4
include "file1.h"
.......................
 
mystruct1.a=5;
так понятней?
korez
8 / 8 / 0
Регистрация: 22.02.2011
Сообщений: 182
08.03.2014, 18:10  [ТС]     Объявление и создание глобальной структуры в dll #6
ValeryS, да, да все заработало когдая все глобальные объявления , не только струтуры, перенес в .h файл.
Yandex
Объявления
08.03.2014, 18:10     Объявление и создание глобальной структуры в dll
Ответ Создать тему
Опции темы

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