Что случилось с экспортируемыми функциями?

Форум для программистов

Что случилось с экспортируемыми функциями?

Сообщение dAnIK SeNT » Вс фев 23, 2003 10:10 pm

Почему-то функции объявленные примерно как
Код: выделить все

 _declspec(dllexport) void fname(LPSTR szv, LPSTR szx, BOOL (*GetVar)(LPSTR, LPSTR), void (*SetVar)(LPSTR, LPSTR), DWORD* pFlags, UINT nargs, LPSTR* szargs, PPROSERVICES* ppsv)


в конечной dll имеют совсем другие имена:
Код: выделить все

Exports from winamp.dll

 5 exported name(s), 5 export addresse(s).  Ordinal base is 1.

 Sorted by Name:

   RVA      Ord. Hint Name

   -------- ---- ---- ----

   000010C9    1 0000 ?join@@YAXPAD0P6AH00@ZP6AX00@ZPAKIPAPADPAUtagPProServices@@@Z

   00001080    2 0001 ?okcancel@@YAXPAD0P6AH00@ZP6AX00@ZPAKIPAPADPAUtagPProServices@@@Z

   0000118D    3 0002 ?showmenu@@YAXPAD0P6AH00@ZP6AX00@ZPAKIPAPADPAUtagPProServices@@@Z

   00001055    4 0003 ?shuffle_get@@YAXPAD0P6AH00@ZP6AX00@ZPAKIPAPADPAUtagPProServices@@@Z

   0000112E    5 0004 ?swapvar@@YAXPAD0P6AH00@ZP6AX00@ZPAKIPAPADPAUtagPProServices@@@Z


Мне совсем не хочется вызывать функцию okcancel как ?okcancel@@YAXPAD0P6AH00@ZP6AX00@ZPAKIPAPADPAUtagPProServices@@@Z...
яНЯЕД ОН СОПЪФЙЕ: Athlon 64 X2 5200+ @2,86GHz / nF 570 SLI (ASUS M2N SLI Deluxe) / 4 Gb RAM (4x1Gb Kingston) / 2,9Tb SATAII (0,50+0,64+0,75+1,00Tb WD) / ASUS 8800 GTS512 / 2x NEC-Optiarc AD-7173 / Thermaltake ToughPower 650W / 2x30W Microlab Solo-2 / 20" LCD Benq FP202W (wide) / openSUSE 11.1 / KDE 4.2.1
<!--coloro:Navy--><span style="color:Navy"><!--/coloro-->оН БЯЕЛ БНОПНЯЮЛ - Б email. б ICQ ОНЪБКЪЧЯЭ ПЮГ Б ОНКЦНДЮ.<!--colorc--></span><!--/colorc-->
dAnIK SeNT
Маршал
 
Сообщений: 5101
Зарегистрирован: Чт мар 28, 2002 7:48 pm
Откуда: яяяп
Пункты репутации: 0

Сообщение ghostwheel » Пн фев 24, 2003 12:21 am

Поставь extern "C" перед _declspec(dllexport).

И почитай эту <a href='http://www.pgh.net/~newcomer/ultimateheaderfile.htm' target='_blank'>страничку</a>.
ghostwheel
Ст. сержант
 
Сообщений: 44
Зарегистрирован: Пт дек 27, 2002 10:54 pm
Пункты репутации: 0

Сообщение dAnIK SeNT » Пн фев 24, 2003 8:23 am

2ghostwheel
Огррромное спасибо <!--emo&:)-->Изображение<!--endemo-->. Еще не проверял, но уже понятно в чем мой косяк <!--emo&:)-->Изображение<!--endemo-->.

ЗЫ. Иногда подумываю - писал бы себе на Дельфи и горя не знал <!--emo&:)-->Изображение<!--endemo-->. Ну подумаешь - 3 мб RAM прога отнимает, зато даже когда на чистом WinAPI пишешь гемора в 5 раз меньше.
яНЯЕД ОН СОПЪФЙЕ: Athlon 64 X2 5200+ @2,86GHz / nF 570 SLI (ASUS M2N SLI Deluxe) / 4 Gb RAM (4x1Gb Kingston) / 2,9Tb SATAII (0,50+0,64+0,75+1,00Tb WD) / ASUS 8800 GTS512 / 2x NEC-Optiarc AD-7173 / Thermaltake ToughPower 650W / 2x30W Microlab Solo-2 / 20" LCD Benq FP202W (wide) / openSUSE 11.1 / KDE 4.2.1
<!--coloro:Navy--><span style="color:Navy"><!--/coloro-->оН БЯЕЛ БНОПНЯЮЛ - Б email. б ICQ ОНЪБКЪЧЯЭ ПЮГ Б ОНКЦНДЮ.<!--colorc--></span><!--/colorc-->
dAnIK SeNT
Маршал
 
Сообщений: 5101
Зарегистрирован: Чт мар 28, 2002 7:48 pm
Откуда: яяяп
Пункты репутации: 0

Сообщение dAnIK SeNT » Пн фев 24, 2003 12:13 pm

Проверил, усовершенствовал, переписал под себя - все рулит <!--emo&:)-->Изображение<!--endemo-->
яНЯЕД ОН СОПЪФЙЕ: Athlon 64 X2 5200+ @2,86GHz / nF 570 SLI (ASUS M2N SLI Deluxe) / 4 Gb RAM (4x1Gb Kingston) / 2,9Tb SATAII (0,50+0,64+0,75+1,00Tb WD) / ASUS 8800 GTS512 / 2x NEC-Optiarc AD-7173 / Thermaltake ToughPower 650W / 2x30W Microlab Solo-2 / 20" LCD Benq FP202W (wide) / openSUSE 11.1 / KDE 4.2.1
<!--coloro:Navy--><span style="color:Navy"><!--/coloro-->оН БЯЕЛ БНОПНЯЮЛ - Б email. б ICQ ОНЪБКЪЧЯЭ ПЮГ Б ОНКЦНДЮ.<!--colorc--></span><!--/colorc-->
dAnIK SeNT
Маршал
 
Сообщений: 5101
Зарегистрирован: Чт мар 28, 2002 7:48 pm
Откуда: яяяп
Пункты репутации: 0


Вернуться в Программирование

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11

cron