С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
ZaVyLoN
83 / 83 / 6
Регистрация: 26.10.2009
Сообщений: 269
#1

Создание DLL - C++

24.11.2011, 01:03. Просмотров 995. Ответов 7
Метки нет (Все метки)

C++
1
const __int64 MathArray[3][2] = {{0, 1}, {2, 3}, {4, 5}};
Ошибок нет.

но в .h ругается!!
0
Миниатюры
Создание DLL  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2011, 01:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создание DLL (C++):

Создание .dll - C++
Здравствуйте.Нужна помощь в создание dll.Опишите пожалуйста саму структуру dll-файла. Компилятор-g++ 4.8.1,среда-notepad++.

создание DLL - C++
Помогите пожалуйста понять что не так сделала 8)))) может что-то странное в коде Program1.dll ...

Создание DLL - C++
Здравствуйте!!!! Помогите пожалуйста создать dll, проблема заключается в том что вылетает множество след. ошибок 2 IntelliSense:...

Создание dll - C++
Всем привет, лютые и бородатые прогеры :) Потихоньку изучаю язык С. Столкнулся с такой проблемой. Не могу сделать динамическую...

Создание dll библиотеки c++ - C++
Есть проект, где много заголовочных файлов. Как собрать dll библиотеку так, чтобы потом использовать только 1 заголовочный файл, а...

Создание DLL со строками на C++ - C++
Пробовал разные варианты создания на выходе файла DLL, который содержит несколько строк, поскольку изучаю C# - C++ непонятен совсем. ...

7
greeezz
274 / 167 / 4
Регистрация: 10.07.2011
Сообщений: 441
24.11.2011, 03:03 #2
у вас на скриншоте, переменная объявлена статичной. это значит что должна быть доступна без создания экземпляра скласса и всем экземпларям класса если такие созданы. поэтому, инициализация статичных переменных должна быть выполнена на в области класса а в области файла.

Добавлено через 1 минуту
плюс еще должен добавить что инициализации вообще любых членов класса делается при помощи функция членов класса или конструктора, а не в момент их объявления
1
Kastaneda
Jesus loves me
Эксперт С++
4697 / 2901 / 238
Регистрация: 12.12.2009
Сообщений: 7,389
Записей в блоге: 2
Завершенные тесты: 1
24.11.2011, 06:20 #3
Цитата Сообщение от greeezz Посмотреть сообщение
вообще любых членов класса делается при помощи функция членов класса или конструктора, а не в момент их объявления
Кроме static const членов, они инициализируются при объявлении.
0
greeezz
274 / 167 / 4
Регистрация: 10.07.2011
Сообщений: 441
24.11.2011, 06:38 #4
Цитата Сообщение от Kastaneda Посмотреть сообщение
Кроме static const членов, они инициализируются при объявлении.
да, но разве области класса?
0
ZaVyLoN
83 / 83 / 6
Регистрация: 26.10.2009
Сообщений: 269
24.11.2011, 08:02  [ТС] #5
Сделал так.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// MyDll.h
 
namespace HomeWorkDll
{
    class MyHomeWorkDll
    {
    private:
        static __declspec(dllexport) __int64 MathArray[3][2];
           public:
        static __declspec(dllexport) void ShowMathArray();
//...
         
};
}
// MyDll.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// MyDll.cpp
namespace HomeWorkDll
{
    // Массив предопределённых констант типа __int64 размером 3*2 элемента
    __int64 MyHomeWorkDll::MathArray[3][2]  = {{0, 1}, {2, 3}, {4, 5}};
    
    void MyHomeWorkDll::ShowMathArray()
    {
        cout << "Массив предопределённых констант типа __int64 размером 3*2 элемента." << endl;
        for (int i = 0; i < 3; i++)
        {
            for(int j = 0; j < 2; j++)
            {
                cout << HomeWorkDll::MyHomeWorkDll::MathArray[i][j] << " ";
            }
            cout << endl;
        }
        cout << endl;
//...
 
    }
}
0
greeezz
24.11.2011, 08:36
  #6

Не по теме:

Цитата Сообщение от ZaVyLoN Посмотреть сообщение
Сделал так.
всегда пожалуйста

0
Kastaneda
Jesus loves me
Эксперт С++
4697 / 2901 / 238
Регистрация: 12.12.2009
Сообщений: 7,389
Записей в блоге: 2
Завершенные тесты: 1
25.11.2011, 07:15 #7
Цитата Сообщение от greeezz Посмотреть сообщение
да, но разве области класса?
Да
C++
1
2
3
4
class Foo
{
    static const n = 10;
}
это абсолютно правильный код.
0
greeezz
274 / 167 / 4
Регистрация: 10.07.2011
Сообщений: 441
25.11.2011, 17:22 #8
Цитата Сообщение от Kastaneda Посмотреть сообщение
Да
C++
1
2
3
4
class Foo
{
    static const n = 10;
}
это абсолютно правильный код.
насчет инициализации статичной константной переменной в классе вы правы. я немного ошибся. спасибо за корректировку.

но этот код как минимум не правильный потому что не указан тип переменной. например int.
0
25.11.2011, 17:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2011, 17:22
Привет! Вот еще темы с ответами:

Создание и использование dll - C++
Нашел на MSDN как создавать dll, скомуниздил оттуда код, прошу пояснить, а так же необходимо найти ошибку, потому что работать оно не...

Создание библиотек DLL - C++
Пишу в Dev-C++. Хочу создать DLL - библиотеку. Помогите разобраться в последовательность написания библиотеки DLL.

Создание resource-only DLL - C++
Пришёл сюда из VB-шного форума, поскольку напоролся на ограничение бэйсика, которое, похоже, обойти нельзя никак. ДАНО: Куча иконок...

DLL. Их создание и полезность - C++
Я слышал краем уха, что DLL это та же библиотека, только поддерживающая динамическое связывание. То есть если нам в каком-то участке кода...


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

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

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