如何在C程序中使用String.h文件

时间:2017-05-22 22:48:32

标签: c

我正在尝试使用RHEL的开发工具套件提供的编译器编译在RHEL Linux 7.3工作站上使用string.h头文件的C程序。 GCC版本是4.8.5。我安装了开发工具套件时,系统将string.h文件安装到/usr/include/目录中。当我尝试编译程序时,我收到以下错误:

In file included from All.c:15:0:
/usr/include/string.h:409:14: error: expected identifier or ‘(’ before string constant
 extern char *strerror (int __errnum) __THROW;

有人可以解释我有什么问题吗?或者头文件只与C ++兼容?

找出问题所在。 Gcc编译器标志设置不正确,因此编译器无法编译它。我试图编译的代码与Xmt motif库有关。

我理解为什么这个问题被低估了,并且将来会尝试遵守网站的规则。谢谢大家!

1 个答案:

答案 0 :(得分:1)

您的系统设置不正确。

extern char strerror(int __errnum)__THROW;

是C中的语法错误,除非__THROW已定义为空。它可能还没有。编写标题是为了期望编译器将各种各样的位定义为它,但是当你实际尝试调用编译器时,情况并非如此。

最简单的答案是简单地重新安装编译器。问题在于,在类Unix系统上,编译器趋于深入。你不能轻易擦拭它并重新安装,而不会有损坏其他一百件事的危险。尝试“Hello world”以查看问题是出现在所有头文件中还是只出现在string.h中。