Проблемма с написанием DLL на С

2010-03-06T15:29:02+02:00 2010-03-06T15:48:50+02:00
0
Горожане
+ 11
Местный
Использую \"msvc 2005\", dll-ка компилируется без варнингов и эрроров. Не могу обратится к експортированным функциям через rundll32.exe(а именно выдаёт мессадж \"ошибка при загрузке test_svoyak_dll.dll, произошел сбой в программе инициализации DLL\"). Может кто знает в чем проблемма?
Выкладываю сорцы :

svoyak_dl.h

Цитата:#include
#define DllExport extern "С" __declspec(dllexport)



main.cpp

Цитата:#include "svoyak_dl.h"
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
}
extern \"C\" { __declspec(dllexport) int __stdcall hello()
{
MessageBoxA (0,\"hi\",\"hello\",MB_OK);
return 0;
};
}



Добавлено спустя 1 час 38 минут 34 секунды:

svoyak_dl.h
#include //этот хидер почему то не вставился в текст топика.
#define DllExport extern "С" __declspec(dllexport)
Я твой рекурсия стек вызовов переполнял
Горожане
0
Проездом
php code:
  1. #include <windows.h>
  2. #include <tchar.h>
  3.  
  4. extern "C" __declspec (dllexport) void __cdecl Test(
  5.     HWND hwnd,
  6.     HINSTANCE hinst,
  7.     LPTSTR cmdline,
  8.     int show)
  9. {
  10.     MessageBox(0, _T("Hello, World!"), _T("Test"), MB_OK);
  11. }
  12.  
  13. BOOL APIENTRY DllMain(HANDLE module, DWORD  reason, LPVOID reserved)
  14. {
  15.     return TRUE;
  16. }


rundll32 test.dll Test
Горожане
+ 11
Местный
superqwerty
Спасибо за пример.
Я твой рекурсия стек вызовов переполнял
 
Доступ закрыт.
  • Вам запрещено отвечать в темах данного форума.