标签: perl message-queue
' msgsnd'功能实际声明如下
int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg);
但是,有一个以下列方式使用的perl程序
msgsnd($qid, pack("l! l! a*", $type, $type, $cmd), 1)
这只有3个参数。这是如何运作的?
答案 0 :(得分:1)
usage实际上是
msgsnd ID,MSG,FLAGS
Perl字符串不像C中那样终止NUL;字符串标量(例如MSG)除字符串缓冲区本身外还包含字符串缓冲区中数据长度的字段,因此在这三个参数中可以获得所有必要信息以使基础{{1}调用。
MSG
Here是Perl msgsnd()运算符的实现。
msgsnd()