Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
korez
8 / 8 / 1
Регистрация: 22.02.2011
Сообщений: 182
#1

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

08.03.2014, 12:46. Просмотров 887. Ответов 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. если объявлю в акдом файле где испоьзуется структура то происходит "очевидное" переопределение

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2014, 12:46
Ответы с готовыми решениями:

Объявление глобальной перемнной класса в формах
Здравствуйте. Как объявлять глобальную переменную класса? выдает ошибку ...

При объявлении структуры глобальной программа падает
Всем привет! Сразу говорю, это пример кода. Не вижу смысла все тут...

Объявление структуры
Я объявляю структуру так: typedef struct { BYTE aaa; BYTE bbb; short...

Объявление структуры и класса
Ругается на строку obj_cls.prv=3; и на объявление класса. Что у меня не...

Не понимаю объявление структуры
Разбираю это кусок кода struct TGAColor { union { ...

5
kventin_zhuk
БНТУ ФИТР
215 / 155 / 41
Регистрация: 26.12.2012
Сообщений: 382
08.03.2014, 14:07 #2
Лучший ответ Сообщение было отмечено korez как решение

Решение

korez, в h файле. Его уже подключаете куда требуется. dllMain файл пихаете реалихацию этих функций. При подключении h-ника с помощью дирректив препроцессора идет проверка на переопределение. Так что заэто не переживайте
1
ValeryS
Модератор
7163 / 5430 / 674
Регистрация: 14.02.2011
Сообщений: 18,337
08.03.2014, 14:13 #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;
то сойдет с ума линкер, нет переменных
1
korez
8 / 8 / 1
Регистрация: 22.02.2011
Сообщений: 182
08.03.2014, 14:35  [ТС] #4
<<это если в одной единице трансляции а если в разных?>>
нет не в .h файлах а файлах где я использовал свою структуру.
0
ValeryS
Модератор
7163 / 5430 / 674
Регистрация: 14.02.2011
Сообщений: 18,337
08.03.2014, 14:48 #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;
так понятней?
1
korez
8 / 8 / 1
Регистрация: 22.02.2011
Сообщений: 182
08.03.2014, 18:10  [ТС] #6
ValeryS, да, да все заработало когдая все глобальные объявления , не только струтуры, перенес в .h файл.
0
08.03.2014, 18:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.03.2014, 18:10

Объявление структуры в свитче
Здравствуйте, имеется 3 заполненные структуры, с одинаковыми полями, но разными...

Объявление стека как члена структуры
Добрый день. Пытаюсь объявить структуру, содержащую стэк struct labirint {...

Объявление и определение глобального массива структуры
Есть структура struct DatSob { int year; // Год события int...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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