首页 > 解决方案 > 使用 ubunto 编译 C 源代码时何时使用 -std=c11

问题描述

我正在尝试使用 ubunto 终端将 C 源代码编译为机器代码 我的导师指令是使用以下命令:

running clang myprogramm.c -std=c11

为什么我要使用关键字 -std=c11 和只使用有什么区别

clang myprogramm.c 

标签: cubuntu

解决方案


你的导师要求使用std=选项(我在猜测她的动机,我特别擅长这个!)因为她想确保你远离所有那些将接受的语言从 C 语言转变为语言的漂亮 Clang特性看起来像 C 但实际上是其他 C 编译器不支持的不同语言

这不仅仅是额外的库函数。它包括违反 ISO 定义的标准 C 语法的语法更改。蚱蜢在学习时不应该使用这些。使用-std=c11确保 Clang 警告甚至拒绝此类构造,并出现错误。


推荐阅读