70,039
社区成员
发帖
与我相关
我的任务
分享在虚拟机下可以运行 ,在arm下编译就提示 “将 NULL 转换到非指针类型‘char’ 不让这么写了,请指教
#ifndef __CMD_H__
#define __CMD_H__
#include <pthread.h>
#include <string.h>
#include <cstring>
#include <fstream>
#include <unistd.h>
#define MAX_CMD_NAME_LENGTH 30 // 最大命令名长度,
#define MAX_CMDS_COUNT 100 // 最大命令数,
typedef void (*handler)(void); // 命令操作函数指针类型
/* 命令结构体类型 */
typedef struct cmd
{
char cmd_name[MAX_CMD_NAME_LENGTH + 1]; // 命令名
handler cmd_operate; // 命令操作函数
} CMD;
/* 命令列表结构体类型 */
typedef struct cmds
{
CMD cmds[MAX_CMDS_COUNT]; // 列表内容
int num; // 列表长度
} CMDS;
static CMDS commands = {NULL,NULL}; // 全局命令列表,保存已注册命令集合
#define ARRAY_SIZE(x) (sizeof(x) / (sizeof((x)[0])))
void register_cmds(CMD reg_cmds[], int length);
void match_cmd(char *str);
#endif
红色部分 怎么改写