请教activeperl中调用DLL动态链接库的问题
先介绍一下我的环境:
WinXP + ActivePerl 5.10 + VC 6.0
下面是代码。
动态链接库的代码及其头文件代码:
// test.cpp
#include "stdio.h"
extern "C" __declspec(dllexport) void test(int x)
{
printf("\n++++ HELLO,WORLD ++++");
printf("\n++++ the number you input:%d ++++", x);
}
// test.h
extern "C" __declspec(dllexport) void test(int);
#note compling the above Cpp code using VC++ complier(Visual studio 2005)
PERL脚本代码
// test.pl
#!/usr/bin/perl
use strict;
use warnings;
use Win32::API;
Win32::API->Import('dll_1.dll', 'void test(int x)');
test(13);
exit(1);
运行test.pl时输出:
++++ HELLO,WORLD ++++
++++ the number you input:13 ++++
同时,显示如下错误提示:
Perl Command Line Interpreter 遇到问题需要关闭。我们对此引起的不便表示抱歉。
从运行情况来看动态链接库的两行打印都正确输出,但为什么最后还会出现错误提示。
请高手指点。谢谢
[解决办法]
用debug看看。perl的调试器
[解决办法]
我感觉是那vc写的动态链接库有问题了,你仔细看看吧!