Тема: L2PacketHack 3.5.x
Показать сообщение отдельно
Старый 09.10.2008, 13:13   #306
Пользователь
 
Регистрация: 28.06.2008
Сообщений: 33
Сказал Спасибо: 12
Имеет 15 спасибок в 8 сообщенях
RoZ пока неопределено
По умолчанию

Цитата:
Сообщение от ratvier Посмотреть сообщение
c++ и не должен экспортировать "нормальные" имена, кроме объявленных в extern c
Я по моему и не говорил что С++ должен экспортировать в "нормальном" виде. Я пытаюсь написать плугин шаблон DLL на С++ для использования с l2phx, чтобы народ незнающий Delphi меньше мучился (как я). Сейчас использую такую конструкцию:
Код:
#define DLL_API extern "C" __declspec(dllexport)
DLL_API char* GetPluginInfo(int ver);
DLL_API char* GetPluginInfo(int ver)
{
	return "Test Plugin DLL";
}
в настройках проекта стоит
Calling Convention __cdecl (/Gd)
и функция GetPluginInfo(int ver) экспортируется как GetPluginInfo, если же поставить __stdcall то функция экспортируется как _GetPluginInfo@4

Собственно сейчас для меня два варианта.
1) Всё таки дописать шаблон на С++
2) Сделать DLL на Delphi как обёртку для DLL на С++

З.Ы. Второй вариант намного проще,...но это уже ИМХО какое то извращение

Последний раз редактировалось RoZ, 09.10.2008 в 13:17. Причина: мысль... :)
RoZ вне форума   Ответить с цитированием