_execl、_wexecl
ロードは、新しい子プロセスが実行されます。
重要 |
---|
この API は、Windows のランタイムで実行するアプリケーションで使用することはできません。詳細については、でサポート /ZW 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
実行するファイルのパス。arg0, ...argn
パラメーターへのポインターのリスト。
戻り値
成功すると、これらの関数は、呼び出し元プロセスに返送されません。–1 の戻り値は errno のグローバル変数が設定されている場合、エラーを示します。
errno の値 |
説明 |
---|---|
E2BIG |
引数と環境の設定に必要な領域は 32 KB を超えています。 |
EACCES |
指定したファイルにロック、共有違反があります。 |
EINVAL |
無効なパラメーター (一つまたは複数のパラメーターが null ポインターの場合、または空の文字列であるいません)。 |
EMFILE |
開いている多すぎるファイル (実行できるかどうか) を判断するために指定されたファイルを開く必要があります。 |
ENOENT |
ファイルまたはパスはありません。 |
ENOEXEC |
指定されたファイルには実行できず、無効なファイル形式はありません。 |
ENOMEM |
十分なメモリが新しいプロセスを実行して使用できません。; 使用できるメモリが破損しています; または無効なブロックは、呼び出し元プロセスが正しく割り当てられていないことを示します。 |
解説
これらの関数は別のパラメーターとして各コマンド ライン引数を渡す新しいプロセスを読み込んで実行します。最初の引数はコマンドまたは実行可能ファイルの名前で、2 番目の引数は、1 番目のと同じにする必要があります。これは、実行されるプロセスの argv[0] になります。3 番目の引数、実行されるプロセスの argv[1]です。
_execl の関数は、パラメーターを検証します。cmdname か arg0 null ポインターまたは空の文字列がの場合、これらの関数は パラメーターの検証 これらの関数によって設定 errno、-1 を返します。"に説明されているように EINVAL に実行を継続無効なパラメーター ハンドラーを呼び出します。新しいプロセスは実行されません。
必要条件
Function |
必須ヘッダー |
オプション ヘッダー |
---|---|---|
_execl |
<process.h> |
<errno.h> |
_wexecl |
<process.h> か <wchar.h> |
<errno.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
使用例
_exec、_wexec 系関数の例を参照してください。