Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在使用ubunto编译C源代码时何时使用-std=c11_C_Ubuntu - Fatal编程技术网

在使用ubunto编译C源代码时何时使用-std=c11

在使用ubunto编译C源代码时何时使用-std=c11,c,ubuntu,C,Ubuntu,我正在尝试使用UBTO终端将C源代码编译成机器代码 我的导师指导我使用以下命令: running clang myprogramm.c -std=c11 为什么我要使用关键字-std=c11,与使用just有什么区别 clang myprogramm.c 使用std=选项是你的导师要求的(我猜到了她的动机,我特别擅长这个!)因为她想确保你远离那些把被接受的语言从C变成表面上看起来像C,但实际上是其他C编译器不支持的另一种语言的漂亮的叮当声特性 这不仅仅是附加的库函数。它包括打破ISO定义的

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

running clang myprogramm.c -std=c11
为什么我要使用关键字-std=c11,与使用just有什么区别

clang myprogramm.c 

使用
std=
选项是你的导师要求的(我猜到了她的动机,我特别擅长这个!)因为她想确保你远离那些把被接受的语言从C变成表面上看起来像C,但实际上是其他C编译器不支持的另一种语言的漂亮的叮当声特性


这不仅仅是附加的库函数。它包括打破ISO定义的标准C语法的语法更改。蚱蜢在学习时不应该使用这些。使用
-std=c11
可以确保Clang警告或甚至拒绝此类构造,但会出现错误。

使用
std=
选项是你的导师所要求的(我知道她的动机,我特别擅长于此!)因为她想确保你远离那些把被接受的语言从C变成表面上看起来像C,但实际上是其他C编译器不支持的另一种语言的漂亮的叮当声特性


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

何时指定标准?无论何时使用编译器。让编译器想用什么就用什么从来都不是一个好主意

如果有人试图使用太旧的编译器,那么他们将得到警告或错误,并且他们将理解编译失败的原因

如果代码贡献者(甚至你自己!)试图使用太新的特性添加代码,他们的代码将被拒绝。如果您想保持与旧标准的兼容性,这一点非常重要


通过明确说明标准,使用新功能或扩展是一种选择,而不是偶然发生的。

何时指定标准?无论何时使用编译器。让编译器想用什么就用什么从来都不是一个好主意

如果有人试图使用太旧的编译器,那么他们将得到警告或错误,并且他们将理解编译失败的原因

如果代码贡献者(甚至你自己!)试图使用太新的特性添加代码,他们的代码将被拒绝。如果您想保持与旧标准的兼容性,这一点非常重要


通过明确说明标准,使用新功能或扩展是一种选择,而不是偶然发生的。

如文档所述,它将使用的语言标准设置为C11版本。所以,当您使用在该版本的standardAwesome中添加的功能时,您必须使用它!谢谢你的快速回答!标准编译选项应该包括“代码> -Walth-Woop-Pohannic < /代码>(以启用警告,考虑<代码> - Wshadow < /代码>),然后为库标准和“代码> >代码> > OFAS< <代码>或<代码> -O3优化级别。2020年无需使用低于
c11
的编码标准,除非您正在维护尚未更新的旧代码库。正如文档所述,它将使用的语言标准设置为c11版本。所以,当您使用在该版本的standardAwesome中添加的功能时,您必须使用它!谢谢你的快速回答!标准编译选项应该包括“代码> -Walth-Woop-Pohannic < /代码>(以启用警告,考虑<代码> - Wshadow < /代码>),然后为库标准和“代码> >代码> > OFAS< <代码>或<代码> -O3优化级别。2020年无需使用低于
c11
的编码标准,除非您正在维护尚未更新的旧代码库。