c - 使用 ubunto 编译 C 源代码时何时使用 -std=c11
问题描述
我正在尝试使用 ubunto 终端将 C 源代码编译为机器代码 我的导师指令是使用以下命令:
running clang myprogramm.c -std=c11
为什么我要使用关键字 -std=c11 和只使用有什么区别
clang myprogramm.c
解决方案
你的导师要求使用std=
选项(我在猜测她的动机,我特别擅长这个!)因为她想确保你远离所有那些将接受的语言从 C 语言转变为语言的漂亮 Clang特性看起来像 C 但实际上是其他 C 编译器不支持的不同语言。
这不仅仅是额外的库函数。它包括违反 ISO 定义的标准 C 语法的语法更改。蚱蜢在学习时不应该使用这些。使用-std=c11
确保 Clang 警告甚至拒绝此类构造,并出现错误。
推荐阅读
- hibernate - 如何在 EclipseLink 中引用自定义的“ConnectionProvider”?
- logstash - 根据日志中的字段组合请求和响应 - ELK
- python - 舍入函数舍入除三个之外的所有列条目
- html - 数据表/编辑器中的内联编辑器中的 Html 字符集代码
- postgresql - Postgres - pg_upgrade 11 到 12 角色“postgres”不存在
- android - 在 Redmi Note7 的 camera2 API Android 中捕获图像时相机冻结
- apache-spark - 如何使用流数据帧进行 rdd 转换
- php - 如何从 Google API PHP 客户端获取 SMTP 凭据
- excel - 什么循环条件可以让代码连续运行
- android - 在编译 Kotlin 代码之前从 gradle 运行 CMake