Вернуться   CoderX :: Forums > Lineage II > L2PacketHack > Разработка
Войти через OpenID

Разработка Раздел для совместной разработки/доработки программы

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 09.10.2008, 10:32   #1
Пользователь
 
Регистрация: 28.06.2008
Сообщений: 33
Сказал Спасибо: 12
Имеет 15 спасибок в 8 сообщенях
RoZ пока неопределено
По умолчанию

Цитата:
Сообщение от ratvier Посмотреть сообщение
Нафиг не надо... void __stdcall myfunction(void);
И ? Получим на выходе _myfunction@16 какой нить...в то время как Дельфи использует просто myfunction. А так у нас будет экспортироваться нормальное myfunction как и в Дельфи.
RoZ вне форума   Ответить с цитированием
Старый 09.10.2008, 12:02   #2
Местный
 
Регистрация: 18.02.2008
Сообщений: 141
Сказал Спасибо: 16
Имеет 66 спасибок в 30 сообщенях
ratvier
По умолчанию

Цитата:
Сообщение от RoZ Посмотреть сообщение
Получим на выходе _myfunction@16 какой нить...в то время как Дельфи использует просто myfunction.
c++ и не должен экспортировать "нормальные" имена, кроме объявленных в extern c

xkor, в апи много си кода %)
ratvier вне форума   Ответить с цитированием
Старый 09.10.2008, 13:13   #3
Пользователь
 
Регистрация: 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 вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Разработка


Опции темы
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 15:54.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!