⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exec.c

📁 Newlib 嵌入式 C库 标准实现代码
💻 C
字号:
#include <sys/unistd.h>#include <errno.h>extern char **environ;intexecv (const char *path, char * const *args) {	extern int execve (const char *, char * const *, char * const*);	return execve (path, args, environ);}intexecl(const char *path, const char *arg1, ...) {	return execv (path, &arg1);}/* * Copy string, until c or <nul> is encountered. * NUL-terminate the destination string (s1). */static char *strccpy (char *s1, char *s2, char c) {	char *dest = s1;	while (*s2 && *s2 != c) {		*s1++ = *s2++;	}	*s1 = 0;	return dest;}intexecvp(const char *file, char * const *args) {	extern char *getenv (const char *);  	char *path = getenv ("PATH");	char buf[MAXNAMLEN];	if (file[0] == '/') {	/* absolute pathname -- easy out */		return execv (file, args);	}	buf[0] = 0;	/* lots of initialization here 8-) */	while (*path) {		strccpy (buf, path, ':');		strcat (buf, "/");		strcat (buf, file);		execv (buf, args);		if (errno != ENOENT)			return -1;		while (*path && *path != ':')			path++;	}	return -1;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -