有人作过C和perl的联合编程吗?

vcbear 2002-06-18 11:28:08
包括C调用Perl,
Perl调用C......

...全文
47 点赞 收藏 5
写回复
5 条回复
leelix 2002年06月23日
call Perl in C/C++,
using Perl API for C
for detail, see 'perlembed' in Active Perl Help

call C/C++ in Perl
(or make Perl module using C/C++)
using .xs file
for detail, see 'perlxs', 'perlxstut' in Active Perl Help


回复 点赞
52cgi 2002年06月20日
可以用 Aldo Calphini 编写的 Win32::API 模块,0D
举个例子:

use Win32::API;
$functionName = "GetFullPathName";
$BUFFER_SIZE = 256;
$pathBuffer = '\0' x $BUFFER_SIZE;
@parameterList = (P,N,P,P);
$fileName = "getFullPath.pl\0";

#Load the Win32 DLL Kernel320D $getFullPath = Win32::API->new("C:\\WINNT\\SYSTME\Kernel32",
"GetFullPathNameA",
\@parameterList,N );
#Call the Win32 API
$returnSize = $getFullPath->Call($fileName,
$BUFFER_SIZE,
$pathBuffer,
$filenameRef );
($filePath,$trash) = split(/\0/,$pathBuffer,2);
print "$filePath\n";

( 摘自:<<Perl从入门到精通>> )0D
更详细内容看Win32::API模块吧。
回复 点赞
vcbear 2002年06月19日
52cgi(鬼行者) :
请告知perl调用dll的方法好吗,谢谢!
我现在实现的只是在编译的c程序里可以调用perl脚本,以及脚本里的函数。其中如果涉及参数传递和返回的话,要直接对堆栈进行操作,以及注意数据类型的转换,真累~~
回复 点赞
52cgi 2002年06月18日
我只知道能用Perl调用C编写的动态连接库(.dll),别的方法不会,
不知道可不可以像C中嵌入ASM一样嵌入PERL.....

关注....
回复 点赞
hoowa 2002年06月18日
并不难,关键是什么途径。有没有实际用处。
回复 点赞
发动态
发帖子
脚本语言(Perl/Python)
创建于2007-08-27

1.5w+

社区成员

3.3w+

社区内容

其他开发语言 脚本语言(Perl ,Python)
社区公告
暂无公告