1

简单的程序:

#include <sys/types.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <netinet/in.h>
#include <netdb.h>

int main(int argc, char **argv)
{
    int ret = rexec((char**) 0, "", "", "", 0);

    return 0;
}

编译:

$ g++ -o rexec -D_XOPEN_SOURCE_EXTENDED rexec.cpp

rexec.cpp: In function 'int main(int, char**)':
rexec.cpp:10:49: error: 'rexec' was not declared in this scope
4

2 回答 2

0

这些函数不在POSIX.1-2001 中。rexec() 函数首先出现在 4.2BSD 中,并且出现在 BSD、Solaris 和许多其他系统上。rexec_af() 函数较新,但不那么普遍。

资料来源:“人 rexec”

于 2013-05-21T15:58:42.733 回答
0
find /usr/local -type f -print -exec grep rexec {} \; # no rgrep/grep -R on HP-UX

在我的 HP-UX 系统上的任何头文件中显然都没有 rexec 函数。

HP-UX 没有。我猜你必须自己通过popenrexec(1)应用程序上执行它来实现它(不太难)。或者,停止使用 rexec!

于 2013-05-21T16:07:28.040 回答