У меня есть длл win32 построен с использованием _cdecl соглашение о вызовах, которые экспортируемого одну функцию:Perl скрипт грохот при вызове win32 DLL
extern __declspec(dllexport) char* myfunc(char* param1, char* param2, char* param3, int param4, int param5)
Я вызываю эту функцию из PERL скрипт так:
sub call_dll {
.....
....
my $api = Win32::API->new('my.dll', 'myfunc', 'PPPII', 'P', '_cdecl');
my $return = $api->Call($param1, $param2, $param3, $param4, $param5);
....
}
Этот вызов работает нормально, и я успешно получаю возвращаемое значение.
Теперь, когда я пытаюсь вызвать эту функцию «call_dll» в реализации perl mutithreaded, скрипт сбрасывается каждый раз.
Я использую активный Perl 5.16 на Windows7
Что может быть причиной этой аварии? Разве мы не можем использовать win32 :: api для потоковой реализации?
Какая авария происходит? Есть ли сообщение об ошибке? Каковы ваши параметры? Нам нужно немного больше информации, пожалуйста. – simbabque