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

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

...全文
85 5 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
并不难,关键是什么途径。有没有实际用处。
  • 打赏
  • 举报
回复
相关推荐
发帖
脚本语言
加入

3.7w+

社区成员

JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • ITBOB • 鲍勃
申请成为版主
帖子事件
创建了帖子
2002-06-18 11:28