编译环境Mingw,gcc -c test.c报错,去掉注释的那行可以通过。是编译器太老的关系吗?
#include <stdio.h>
#include <stdlib.h>
// #ifndef HAVE_ERRX
static inline void errmsg(char doexit, int excode, char adderr, const char *fmt, ...);
int colormode_or_err(const char *str, const char *errmsg);
#define errx(E, FMT...) errmsg(1, E, 0, FMT)
// #endif
//#ifndef HAVE_ERR_H
static inline void errmsg(char doexit, int excode, char adderr, const char *fmt, ...)
{
fprintf(stderr, "%s: ", "program_invocation_short_name.\n");
if (fmt != NULL) {
// va_list argp;
// va_start(argp, fmt);
// vfprintf(stderr, fmt, argp);
// va_end(argp);
if (adderr)
fprintf(stderr, ": ");
}
if (adderr)
fprintf(stderr, "%m");
fprintf(stderr, "\n");
if (doexit)
exit(excode);
}
int colormode_or_err(const char *str, const char *errmsg)
{
const char *p = str && *str == '=' ? str + 1 : str;
int colormode;
// colormode = colormode_from_string(p);
if (colormode < 0)
errx(EXIT_FAILURE, "%s: '%s'", errmsg, p); // 这行为什么编译通不过啊
return colormode;
}
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2019-7-13 20:41
被limee编辑
,原因: