在Linux 系统中,默认情况下如果不指明-std选项,GCC 会使用-std=gnu11作为默认支持的 C 语言版本,也就是 C11 标准加上 GCC extension 的组合。 例如,程序main.c如下: #include<stdio.h>intmain(){for(inti=0;i<10;i++){printf("%d\n",i);}return0;} 指定C89 标准编译 gcc main.c -otest...
gcc编译C语言时,默认用哪个标准(C89、C99、C11、C17) 一、查看gcc的版本 Linux上打开终端,使用命令:gcc --versionWindows上找到cmd窗口,输入命令:gcc.exe --version 如下是我在win11上查看的效果(我的gcc是 8.1版本) 二、查看gcc使用的c标准 访问如下网址: https://gcc.gnu.org/releases.html 会看到所有gcc...
指定所使用的语言标准。GCC支持多个语言标准,例如-std=c11表示使用C11标准。 3. -march=<arch> 指定目标处理器架构。使用该参数可以告诉编译器生成特定架构的机器代码。 4. -pthread 启用对多线程程序的支持。使用该参数可以告诉编译器链接线程库,以支持多线程程序的编译和运行。 5. -Wl, 传递链接器选项。使用...
1.36 指定C语言标准:-std 用于指定编译时要使用的C或C++标准。例如,-std=c11表示使用C11标准进行编译。 查看gcc默认标准可以用: gcc -dM -E - < /dev/null | grep __STDC_VERSION__ 输出:#define __STDC_VERSION__ 201710L 该宏定义表示我的gcc默认c17标准。 现在的C语言标准有C89、C99、C11、C17和C...
GCC支持在编译的时候使用-std选项来选择编译语言的标准。程序本身也是在发展的,不断变化的。以 C 语言为例,发展至今该编程语言已经迭代了诸多个版本,例如 C89(偶尔又称为 C90)、C94(C89 的修订版)、C99、C11。同样,C++语言也经历了很多的标准变化,例如C++11,C++14,以及现在最新的C++20。既然语言都发展了这么...
2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs] 3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as] 4.连接目标代码,生成可执行程序[链接器ld] gcc 命令的常用选项 选项 解释 -ansi 只支持 ANSI 标准的 C 语法。这一选项将禁止 GNU C 的某些特色, ...
其实,gnu90、gnu99、gnu11都是标准C中扩展了GNU/GCC的一些特性,例如,类似于_USE_POSIX、_USE_POSIX宏都是在gnu标准下定义的,gcc默认情况下是使用gnu标准的,所以如果是在GNU/Linux 平台下,使用gcc开发,如果需要指定C语言标准,那么应该使用gnu相关的标准。
GCC是一款非常著名的编译器,支持诸如 C, C++, Java在内的多种程序设计语言,并且提供了许多选项,以支持用户不同程度的需求,例如查看编译中间结果,指定语言标准,指定优化程度等等 ,下面的内容就介绍这些最重要的功能。 首先查看一下 GCC 的版本,有时候可能版本不同,编译的功能和结果就不同。这里有不同版本的手册。
默认情况下, GCC 提供了一些 C 语言的扩展,极少的几处会与 C 标准冲突。关于这些冲突请参考 “ C 语言家族的扩展 ” 一节。使用上述的 -std 选项将会关闭这些有冲突的扩展。你也可以显式的使用选项-std=gnu89( 对应 C89 的 GNU 扩展 ) 或-std=gnu99( 对应 C99 的 GNU 扩展 ) 来选择对应版本的扩展...
2、-std= 选择C语言编译标准 -std= A valueforthis option must be provided; possible values are `c90' `c89'`iso9899:1990' Support all ISO C90 programs (certain GNU extensions that conflict with ISO C90 are disabled). Same as -ansi for C code. ...