linux上gcc命令 linux中gcc命令

“linux”怎么编译c的源程序的?“gcc”编译命令是什么?格式 gcc [option] [sourcefilename]
介绍一些常用的选项:最简单的是:gcc hello.c
默认的情况下将生成a.out的可执行性文件,linux上gcc命令你只需要在终端上输入./a.out就可以看到执行的结果.
如果linux上gcc命令你想指定生成目标文件的名字那么你可以加上 -o选项,命令如下:
gcc -o hello hello.c
命令如下:
gcc -c hello hello.c
linux系统中gcc的命令怎么用?一般linux是自带gcc的 。linux上gcc命令你先用gcc
-v查看下是否安装,如果显示linux上gcc命令了版本信息,表示已经安装linux上gcc命令;安装了为什么不能用呢?有可能是没有设置一些相应的环境变量 。这个时候可以尝试修改启动的脚本,在登录或者启动的时候启动gcclinux上gcc命令!如果gcc
-v没有显示版本信息则可能是你在安装虚拟机的时候没有定制,需要从新安装一下gcc
arm-linux-gcc怎么编译自己写的头文件linux gcc编译c文件头文件
linux gcc编译c文件头文件,使用GCC编译器编译C语言
凶猪下山
转载
关注
0点赞·1047人阅读
GCC编译C源代码有四个步骤:预处理—-编译—-汇编—-链接 。
可以利用GCC的参数来控制执行的过程,这样就可以更深入的了解编译C程序的过程 。
下面将通过对一个程序的编译来演示整个过程 。
#include
int main()
{
printf("happy new year!\n");
return 0;
}
1:预处理:编译器将C程序的头文件编译进来 , 还有宏的替换,可以用gcc的参数-E来参看 。
预处理 命令:gcc -E hello.c -o hello.i
作用:将hello.c预处理输出hello.i
2:编译:这个阶段编译器主要做词法分析、语法分析、语义分析等,在检查无错误后后 , 把代码翻译成汇编语言 。可用gcc的参数-S来参看 。
编译器(ccl)将文本文件hello.i 翻译成文本文件hello.s, 它包含一个汇编语言程序 。汇编语言程序中的每条语句都以一种标准的文本格式描述了一条低级机器语言指令 。
编译命令:gcc -S hello.i -o hello.s
作用:将预处理输出文件hello.i汇编成hello.s文件
3:汇编:把编译阶段生成的.s 文件转换为二进制目标代码 。可用gcc的参数-c来参看 。汇编器(as)将hello.s翻译成机器语言指令,把这些指令打包成可重定位目标程序的格式,并将结果保存在目标文件hello.o中 。hello.o文件是一个二进制文件,它的字节编码是机器语言 。
汇编 命令:gcc -c hello.s -o hello.o
作用:作用:将汇编输出文件hello.s编译输出hello.o文件
4:链接:把obj文件链接为可执行的文件:链接器(ld)负责.o文件的并入 。结果就是hello文件,它是一个课执行的目标文件,可以加载到存储器后由系统调用 。
链接命令:gcc hello.o -o hello
一步操作的话是: (-o必须在hello之前 )
$gcc hello.c -o hello
$./hello或者:(会默认生成a.out文件)
$gcc hello.c
$./a.out
在Linux系统中,gcc的命令怎么用?Gcc最基本linux上gcc命令的用法是∶gcc[options] [filenames] 其中options就是编译器所需要linux上gcc命令的参数linux上gcc命令,filenames给出相关linux上gcc命令的文件名称 。-c,只编译,不连接成为可执行文件,编译器只是由输入的.c等源代码文件生成.o为后缀的目标文件 , 通常用于编译不包含主程序的子程序文件 。-ooutput_filename,确定输出文件的名称为output_filename,同时这个名称不能和源文件同名 。如果不给出这个选项 , gcc就给出预设的可执行文件a.out 。-g,产生符号调试工具(GNU的gdb)所必要的符号资讯,要想对源代码进行调试,linux上gcc命令我们就必须加入这个选项 。-O,对程序进行优化编译、连接,采用这个选项,整个源代码会在编译、连接过程中进行优化处理 , 这样产生的可执行文件的执行效率可以提高,但是,编译、连接的速度就相应地要慢一些 。-O2,比-O更好的优化编译、连接 , 当然整个编译、连接过程会更慢 。-Idirname , 将dirname所指出的目录加入到程序头文件目录列表中,是在预编译过程中使用的参数 。找到一个学习linux的好方法,可多看看《linux就该这么学》一书 。
linux下gcc的安装与使用方法一:
该方法超简单:
sudoapt-getbuild-depgcc
就上面这条命令就可以搞定
方法二:
sudoapt-getinstallbuild-essential
还是简单linux上gcc命令,一句命令也可以搞定
安装完linux上gcc命令了可以执行
gcc--version
linux上gcc命令的命令来查看版本 , 输出如下:
gcc(GCC)4.2.3(Ubuntu4.2.3-2ubuntu7)
Copyright(C)2007FreeSoftwareFoundation,Inc.
编译则使用gcc命令 。要往下学习首先就得熟悉gcc命令的用法 。
gcc命令提供了非常多的命令选项,但并不是所有都要熟悉,初学时掌握几个常用的就可以了,到后面再慢慢学习其它选项 , 免得因选项太多而打击了学习的信心 。
一. 常用编译命令选项
假设源程序文件名为test.c 。
1. 无选项编译链接
用法:#gcc test.c
作用:将test.c预处理、汇编、编译并链接形成可执行文件 。这里未指定输出文件,默认输出为a.out 。
2. 选项 -o
用法:#gcc test.c -o test
作用:将test.c预处理、汇编、编译并链接形成可执行文件test 。-o选项用来指定输出文件的文件名 。
3. 选项 -E
用法:#gcc -E test.c -o test.i
作用:将test.c预处理输出test.i文件 。
4. 选项 -S
用法:#gcc -S test.i
作用:将预处理输出文件test.i汇编成test.s文件 。
5. 选项 -c
用法:#gcc -c test.s
作用:将汇编输出文件test.s编译输出test.o文件 。
6. 无选项链接
用法:#gcc test.o -o test
作用:将编译输出文件test.o链接成最终可执行文件test 。
7. 选项-O
用法:#gcc -O1 test.c -o test
作用:使用编译优化级别1编译程序 。级别为1~3 , 级别越大优化效果越好,但编译时间越长 。
二. 多源文件的编译方法
如果有多个源文件,基本上有两种编译方法:
[假设有两个源文件为test.c和testfun.c]
1. 多个文件一起编译
用法:#gcc testfun.c test.c -o test
作用:将testfun.c和test.c分别编译后链接成test可执行文件 。
2. 分别编译各个源文件,之后对编译后输出的目标文件链接 。
用法:
#gcc -c testfun.c //将testfun.c编译成testfun.o
#gcc -c test.c //将test.c编译成test.o
#gcc -o testfun.o test.o -o test //将testfun.o和test.o链接成test
以上两种方法相比较,第一中方法编译时需要所有文件重新编译,而第二种方法可以只重新编译修改的文件,未修改的文件不用重新编译 。
linux如何查看是否已安装GCC执行gcc-v命令,如果Linux系统没有安装gcc编译器 , 会提示“Commandnotfound” 。
1、如果系统上安装了gcc编译器,这条命令就会显示出当前安装的gcc编译器是哪个版本 。如下:
2、如果提示命令找不到,则表明没有安装,如下:
扩展资料:
安装GCC的必要事项:
GCC可以用来编译C/C、FORTRAN、Java、OBJC、ADA等语言的程序,可根据需要选择安装支持的语言 。
安装之前,系统中必须要有cc或者gcc等编译器,并且是可用的,或者用环境变量CC指定系统上的编译器 。如果系统上没有编译器 , 不能安装源代码形式的GCC4.1.2 。如果是这种情况,可以在网上找一个与系统相适应的如RPM等二进制形式的GCC软件包来安装使用 。
系统上原来的GCC编译器可能是把gcc等命令文件、库文件、头文件等分别存放到系统中的不同目录下的 。
与此不同,现在GCC建议将一个版本的GCC安装在一个单独的目录下 。这样做的好处是将来不需要它的时候可以方便地删除整个目录即可(因为GCC没有uninstall功能);缺点是在安装完成后要做一些设置工作才能使编译器工作正常 。
参考资料:
百度百科--GCC
【linux上gcc命令 linux中gcc命令】linux上gcc命令的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux中gcc命令、linux上gcc命令的信息别忘了在本站进行查找喔 。

    推荐阅读