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

📄 getargs.c

📁 1. 8623L平台
💻 C
字号:
#include "getargs.h"#include <stdio.h>#include <stdlib.h>char *strcpy(char *dest, const char *src);void CheckArgCount (int argc, int min, int max, char* argv[], char* usage) {	if ((argc - 1 < min) || (argc - 1 > max)) {		fprintf(stderr, "Usage: %s %s\n", argv[0], usage);		exit(1);	}}unsigned long GetUL (char* arg, int align, char* argv[], char* usage) {	unsigned long address;	char *error_pos;		address = strtoul(arg, &error_pos, 0);	if (error_pos[0] != '\0') {		fprintf(stderr, "Error: %s: %s must be decimal, octal or hexadecimal number\n", argv[0], usage);		exit(1);	}	if ((address%align) != 0) {		fprintf(stderr, "%s: Error: %s must be multiple of %d\n", argv[0], usage, align);		exit(1);	}		return address;}void GetDeviceServer(char *argv[], char *server, int maxsize){	char *env_str;	if (server == NULL)		return;		env_str = getenv("EM8XXX_SERVER");	if (env_str == NULL) {#ifdef _REMOTE_		fprintf(stderr, "Error: %s: the environment variable %s must be set for remote access.\n"			"Syntax: %s=machine.address or %s=machine.address:device_index\n", 			argv[0], "EM8XXX_SERVER", "EM8XXX_SERVER", "EM8XXX_SERVER");		exit(1);#endif // _REMOTE_#ifdef _LOCAL_		fprintf(stderr, "Warning: %s: environment variable %s not set. Using device 0\n", argv[0], "EM8XXX_SERVER");		strcpy(server, "0");#endif //_LOCAL_	}	else {#ifdef _REMOTE_		strcpy(server, env_str);#endif // _REMOTE_#ifdef _LOCAL_		if (env_str[0] != ':') {			fprintf(stderr, "Error: %s: the environment variable %s not set correctly for local access.\n"				"Syntax: %s=:device_index\n", argv[0], "EM8XXX_SERVER", "EM8XXX_SERVER");						exit(1);		}		else {			strcpy(server, env_str + 1);		}#endif // _LOCAL_	}}		

⌨️ 快捷键说明

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