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

Ссылка на экземпляр класса в DLL - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Структуры и определение операторов для работы с ними http://www.cyberforum.ru/cpp-beginners/thread987804.html
Есть отдельный файл с базовыми структурами, которые используются во всём проекте. Есть файл с классом, в котором используется собственная структура, забивающая часть изначальных данных в остальные структуры. Внутри проекта происходят преобразования из внутренней структуры во внешние с помощью operator=. Однако сам operator= прописать в классе не удаётся. Как и можно ли это реализовать не ломая...
C++ Вычислить сколько товара можно купить без сдачи Задаётся произвольная цена товара (допустим 11,11) задается произвольное количество монет (10р 5р 2р 1р 50к 10к 5к) допустим каждой по 5 сколько можно купить пива на это количество монет (при данных условиях = 8) сколько можно купить пива без сдачи? По данным условиям мы должны придти к ответу 5 так как самой маленькой монеты (5 копеек) у нас всего 5 штук. Подскажите как можно... http://www.cyberforum.ru/cpp-beginners/thread987798.html
cstdio vs fstream C++
Есть программа, виводящяя 16-ричный дамп бинарного файла (вместо каждого байта входного файла виводится значение в 16-ричной системе) Для работы с файлами использованы функции cstdio. а нужно использовать функции fstream, как это сделать? #include <stdio.h> #include <stdlib.h> int main () { FILE * pFile; long lSize; char * buffer; size_t result;
Парсер XML файлов C++
Доброго времени. Нужен парсер для такой цели : 1) Хранить/сохранять объекты программы, и загружать обратно. Собственно, есть ли нужные библиотеки, или нужно писать парсер самому ? Если самому, то каким способом, посимвольным чтением ? Важно то, что бы он был кроссплатформенным. P.S.
C++ Объясните http://www.cyberforum.ru/cpp-beginners/thread987758.html
Вот собственно и программа... #include <stdlib.h> #include <stdio.h> #include <math.h> using namespace std; int main()
C++ Что не так с программой? Написал прогу по заданию,вроде все верно но в ответ не совпадает с тем что я решал на калькуляторе: #include<iostream> #include<conio.h> #include<math.h> #include<iomanip> using namespace std; int main() { double x; подробнее

Показать сообщение отдельно
maxon887
 Аватар для maxon887
12 / 12 / 3
Регистрация: 05.06.2012
Сообщений: 280
26.10.2013, 01:44  [ТС]     Ссылка на экземпляр класса в DLL
Avazart, два представленных варианта не рассматриваються потому, что на уровне интерфейсов приложение и окна не должны ничего знать друг, о друге. Я думаю понятно почему.
Кстати как то странно ведут себя ссылки в либе, допустим следующи код падает во время выполнения
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
26
27
28
29
30
31
//dynamiclib.h
#ifndef DYNAMICLIB_H
#define DYNAMICLIB_H
 
__declspec(dllexport) int exportValue;
__declspec(dllexport) int* link;
#include <iostream>
using namespace std;
 
class __declspec(dllexport) DynamicLib {
public:
    DynamicLib();
    static void Hello();
};
 
#endif // DYNAMICLIB_H
 
//dynamiclib.cpp
#include "dynamiclib.h"
 
 
DynamicLib::DynamicLib()
{
    exportValue = 10;
    link = &exportValue;
}
 
void DynamicLib::Hello()
{
    cout<<"Hello from DLL "<<*link<<endl;
}
Вызов из вне
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
using namespace std;
#include "dynamiclib.h"
int main()
{
    cout << "Hello World!" << endl;
    DynamicLib::Hello();
    return 0;
}
Добавлено через 8 минут
Оо нащёл на msdn
You cannot initialize a static data pointer with the address of a data object declared with the dllimport attribute.
 
Текущее время: 15:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru