_execve, _wexecve
Загружает и выполняет новые дочерние процессы.
Важно!
Этот API невозможно использовать в приложениях, запускаемых в среде выполнения Windows.Дополнительные сведения см. в статье Функции CRT, которые не поддерживаются с ключом /ZW.
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 КБ. |
EACCES |
Указанный файл имеет блокировку или нарушение совместного использования. |
EINVAL |
Неверный параметр |
EMFILE |
Слишком много открытых файлов (указанный файл должен быть открыт чтобы определить, является ли он исполняемым). |
ENOENT |
Не найден файл или путь. |
ENOEXEC |
Указанный файл не является исполняемым или имеет недопустимый формат исполняемого файла. |
ENOMEM |
Недостаточно памяти для выполнения нового процесса; доступная память была повреждена;существует недопустимый блок, показывающий, что вызывающий процесс не был правильно размещен. |
Дополнительные сведения об этих и других кодах возврата см. в разделе _doserrno, errno, _sys_errlist и _sys_nerr.
Заметки
Каждая из этих функций загружает и выполняет новый процесс, передавая ему массив указателей на аргументы командной строки и массив указателей на параметры среды.
_execve и _wexecve проверяют свои параметры. Если cmdname указатель на null, или если argv указатель на null или указатель на пустой массив, или если массив содержит пустую строку в качестве первого аргумента, то эти функции вызывают обработчик недопустимого параметра, как описано в разделе Проверка параметров. Если продолжение выполнения разрешено, эти функции устанавливают для errno значение EINVAL и возвращают -1. Ни один процесс не запущен.
Требования
Функция |
Обязательный заголовок |
Необязательный заголовок |
---|---|---|
_execve |
<process.h> |
<errno.h> |
_wexecve |
<process.h> или <wchar.h> |
<errno.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Пример
См. пример в Функции _exec, _wexec.