%>

加载和执行新的子进程。

重要

此 API 不能用于在 Windows 运行时中执行的应用程序。 有关详细信息,请参阅通用 Windows 平台应用中不支持的 CRT 函数

语法

intptr_t _execl(
   const char *cmdname,
   const char *arg0,
   ... const char *argn,
   NULL
);
intptr_t _wexecl(
   const wchar_t *cmdname,
   const wchar_t *arg0,
   ... const wchar_t *argn,
   NULL
);

参数

cmdname
要执行的文件的路径。


指向参数的指针的列表。

返回值

如果成功,这些函数不返回到调用进程。 返回值 -1 表示错误,在此情况下将会设置 errno 全局变量。

errno 说明
E2BIG 自变量和环境设置所需的空间超过 32 KB。
EACCES 指定的文件具有锁定或共享冲突。
EINVAL 无效参数(一个或多个参数为空指针或空字符串)。
EMFILE 打开的文件太多(必须打开指定的文件以确定它是否是可执行文件)。
ENOENT 未找到文件或路径。
ENOEXEC 指定的文件不是可执行文件,或者有无效的可执行文件格式。
ENOMEM 没有足够的内存可用于执行更新进程;可用内存损坏;或存在无效的块,指示调用进程未正确分配。

备注

这些函数将加载并执行一个新进程,并将每个命令行实参作为独立的形参传递。 第一个参数是命令或执行文件名称,而第二个参数应与第一个相同。 它将成为执行过程中的 argv[0]。 第三个参数是要执行过程的第一个参数 argv[1]

_execl 函数将验证其参数。 如果 cmdnamearg0 为空指针或空字符串,则这些函数调用无效参数处理程序(如参数验证中所述),如果允许继续执行,则这些函数将 errno 设置为 EINVAL 并返回 -1。 不执行任何新进程。

要求

函数 必需的标头 可选标头
_execl <process.h> <errno.h>
_wexecl <process.h> 或 <wchar.h> <errno.h>

有关兼容性的详细信息,请参阅 兼容性

示例

请参阅 _exec_wexec 函数中的示例。

另请参阅

进程和环境控制
_exec_wexec 函数
abort
atexit
.- .
%>
_spawn_wspawn 函数
%>