ПрограммированиеФорумОбщее

С++ не работает friend function! (3 стр)

Страницы: 1 2 3
#30
11:27, 26 июля 2012

TheGrayWolf, мне несколько вещей непонятно:
1. зачем GetCOREInterface() делать френдом, если Core все равно скрыт за абстрактным интерфейсом?
2. по той же причине, зачем делать конструктор приватным?
3. по той же причине, зачем делать деструктор приватным, тем более всегда можно delete ICore ?
4. по той же причине, зачем экспортировать класс Core?
5. ты нас троллишь? )

#31
11:34, 26 июля 2012

cranky
just for lulz

Если серьёзно, хочу посмотреть, взлетит - не взлетит...

#32
11:42, 26 июля 2012

TheGrayWolf
каждая из приведенных тобой методик использования библиотек классов по-своему хороша, но не все одновременно! используй либо статическое связывание, либо динамическое.

#33
13:33, 26 июля 2012

ооо, наркоманский тред.

#34
17:30, 26 июля 2012

>> Core * MYSpace::GetCOREInterface() { return new Core(); }
>Красиво
Где-то слышал, что это не по стандарту.

#35
17:50, 26 июля 2012

какой интересный вариант реализации шаблон синглтон :)
как говориться закат солнца в ручную.

#36
2:52, 27 июля 2012

TheGrayWolf
#pragma comment(linker, "/export:?CreateEngine3D@pbl3d@@YGJAAPAUIEngine3D@1@ABUSENGINE3DCREATEPARAMETERS@1@PAUIEvents@1@@Z=?CreateEngine3D@core@pbl3d@@YGJAAPAUIEngine3D@2@ABUSENGINE3DCREATEPARAMETERS@2@PAUIEvents@2@@Z")

#pragma comment(linker, "/export:CreateEngine3D=?CreateEngine3D@core@pbl3d@@YGJAAPAUIEngine3D@2@ABUSENGINE3DCREATEPARAMETERS@2@PAUIEvents@2@@Z")

namespace pbl3d {
namespace core  {
HRESULT WINAPI CreateEngine3D(IEngine3D *&rpqEngine3D, const SENGINE3DCREATEPARAMETERS &rcSCreateParameters, IEvents *pqEvents)
{
....
}

}
}

Экспортируется функция
HRESULT WINAPI CreateEngine3D(IEngine3D *&rpqEngine3D, const SENGINE3DCREATEPARAMETERS &rcSCreateParameters, IEvents *pqEvents) для доступа из C++ через lib.
И функция CreateEngine3D для доступа через LoadLibrary и GetProcAddress

#37
7:35, 27 июля 2012
Изображение

Ребята, го в универ... на переподготовку...

#38
8:06, 27 июля 2012

DanQuimby
> какой интересный вариант реализации шаблон синглтон :)

Там не было синглтона, но при желании можно сделать)

asvp
Это ты к чему? У меня экспортируется только GetCOREInterface() без всяких @@YGJAAPAUI,

классы я НЕ ЭКСПОРТИРУЮ, GetCOREInterface() мне даёт указатель на базовый интерфейс, который креатит другие интерфейсы,
как в DX в общем-то, но не КОМ,  кажется это у оопэшников фабрикой зовётся, может я не прав.

#39
11:39, 27 июля 2012

asvp
> #pragma comment(linker,
> "/export:?CreateEngine3D@pbl3d@@YGJAAPAUIEngine3D@1@ABUSENGINE3DCREATEPARAMETERS@1@PAUIEvents@1@@Z=?CreateEngine3D@core@pbl3d@@YGJAAPAUIEngine3D@2@ABUSENGINE3DCREATEPARAMETERS@2@PAUIEvents@2@@Z")
>
> #pragma comment(linker,
> "/export:CreateEngine3D=?CreateEngine3D@core@pbl3d@@YGJAAPAUIEngine3D@2@ABUSENGINE3DCREATEPARAMETERS@2@PAUIEvents@2@@Z")
Зачот. Можно я это на говнокод запощу?

#40
23:12, 27 июля 2012

Это просто какой-то фрактал фейла.
Изображение

Страницы: 1 2 3
ПрограммированиеФорумОбщее

Тема в архиве.