建議使用 Visual Studio 2017

_execve、_wexecve

 

如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件

載入並執行新的子處理序。

System_CAPS_ICON_important.jpg 重要

這個 API 不能用於在 Windows 執行階段中執行的應用程式。 如需詳細資訊,請參閱 /ZW 不支援 CRT 函式

intptr_t _execve(   
   const char *cmdname,  
   const char *const *argv,  
   const char *const *envp   
);  
intptr_t _wexecve(   
   const wchar_t *cmdname,  
   const wchar_t *const *argv,  
   const wchar_t *const *envp   
);  

參數

cmdname
待執行檔案的路徑。

argv
參數指標的陣列。

envp
環境設定的指標陣列。

如果成功的話,這些函式不會傳回呼叫處理序。 傳回值為 –1 表示錯誤,在此情況下會設定 errno 全域變數。

errno描述
E2BIG引數和環境設定所需的空間超過 32 KB。
EACCES指定的檔案具有鎖定或共用違規。
EINVAL無效的參數。
EMFILE太多檔案開啟 (若要判斷是否可執行檔必須開啟指定的檔案)。
ENOENT檔案或找不到路徑。
ENOEXEC指定的檔案無法執行或可執行檔格式無效。
ENOMEM沒有足夠的記憶體可用於執行新處理序;可用的記憶體已損毀。或不正確的區塊存在,表示未正確地配置呼叫的處理程序。

如需有關這些傳回碼和其他傳回碼的詳細資訊,請參閱 _doserrno, errno, _sys_errlist, and _sys_nerr

這些函式都會載入並執行新處理序,將指標的陣列傳遞至命令列引數和環境設定的指標陣列。

_execve_wexecve 會驗證其參數。 如果cmdname是 null 指標,或如果argv是 null 指標,指向空的陣列,或如果陣列包含空字串做為第一個引數,這些函式叫用無效參數處理常式中所述參數驗證。 如果允許繼續執行,這些函式會將 errno 設定為 EINVAL ,並傳回 -1。 未啟動任何處理序。

函式必要的標頭選擇性標頭
_execve<process.h><errno.h>
_wexecve<process.h> 或 <wchar.h><errno.h>

如需相容性的詳細資訊,請參閱 Compatibility

請參閱範例_exec、 _wexec 函式

流程控制和環境控制
_exec、 _wexec 函式
中止
atexit
exit、 _Exit、 _exit
_onexit、 _onexit_m
_spawn、 _wspawn 函式
system、 _wsystem

顯示: