格式 gcc [option] [sourcefilename]
介绍一些常用的选项:最简单的是:gcc helloc
默认的情况下将生成aout的可执行性文件,你只需要在终端上输入/aout就可以看到执行的结果
如果你想指定生成目标文件的名字那么你可以加上 -o选项,命令如下:
gcc -o hello helloc
命令如下:
gcc -c hello helloc
1、以GCC编译器为例,可以分为四步。
第一步是预处理,包括语法检查等工作。
gcc -P abcc
gcc -S abcc
会生成abcs文件,这个文件里就是汇编代码。
第三步编译器生成目标代码,一个源文件生成一个目标代码。
gcc -c abcc
会生成abco
第四步连接器从目标代码生成可执行文件。
gcc abco
2、目标代码包括机器码和符号表(函数及变量名)。连接器的主要作用是通过符号表在库文件和其他模块中找到在目标代码中引入或未定义的符号(函数及变量名),将几个目标代码合成可执行文件。
编译C文件用GCC。
编译C文件常用方法:
单个文件:
g++ filecpp
这是最简单形式,缺省输出为aout,可以用-o命令指定输出文件,比如g++ filecpp fout
多个文件:
g++ -c 1cpp -o 1o
g++ -c 2cpp -o 2o
g++ 1o 2o -o progout
链接成可执行文件:
一般用g++ -o file filecpp
多个文件是g++ -o file file1cpp file2cpp
编译C++不是用GCC而是G++
如果用GCC能编译但不能链接
多个文件:
1编译多个文件,但不连接:
g++ file1cpp file2cpp
会生成两个文件:file1o, file2o
2连接:
g++ -o outFileName file1o file2o
会生成一个可执行文件:outFileName。
如果想,一步就完成编译和连接,那么:
g++ -o outFileName file1cpp file2cpp
-o选项控制是否连接。
gcc 是 Linux 系统下面的 C 语言编译器。它和 WINDOWS 系统下面的 Microsoft Visual Studio C++ 60 不同,在 WINDOWS 系统下面对任何的一个源程序,经编译、链接、到最终生成的所有可执行程序必定都是以 exe 结尾的,exe 是 WINDOWS 系统下面的可执行程序的后缀;而 gcc 对 C 语言进行编译,并没有规定可执行程序的具体名字到底是什么。举例如下:
$gcc my_programc <cr>
如果在命令行中,没有带任何参数的话,如果 C 语言源程序没有任何语法错误的话,那么生成的缺省的可执行文件就是:aout;
$gcc my_programc -o my_runfile <cr>
如果在命令行中,指定:-o 参数,代表对 my_programc 进行编译后,生成的可执行文件名为:my_runfile。
同理,在进行命令行编译过程中,只要指定了 -o 参数,那么你后面的可执行文件名,就随便由你自己决定了,这个就没有一定之规了。
首先你得有个文本编辑器,可以用vi,不过新手建议用gedit,ubuntu应该带有这个。
首先运行gedit testc &,启动后在编辑界面输入代码,保存后,在终端运行
gcc testc,输出默认为aout,要执行的话,运行/aout
如果嫌aout别扭,gcc testc -o helloworld
运行/helloworld
回复在linux下怎么编译C程序:比如C程序保存为helloworldc#
gcc
-o
helloworld
helloworldc
这一步把helloworldc编译成可执行的二进制文件helloworld,这里不一定要和C程序的名字一样,可以是其它名字然后执行该程序:#
/hellogcc
编译器有许多选项,一般来说我们只要知道其中的几个就够了。-o
选项我们已经知道了,表示我们要求输出的可执行文件名。
-c
选项表示我们只要求编译器输出目标代码,而不必要输出可执行文件。-g
选项表示我们要求编译器在编译的时候提供我们以后对程序进行调试的信息。
gcc编译通过不意味着程序正确。
gcc编译相对没eclipse或者vs严格,可以保留一些类指针的问题为警告,等到连接或者运行出错。
比如你在程序里直接调用一个不存在的函数,编译只会警告,但是运行就崩溃了。
其次也有可能是程序实现确实有欠妥之处,再仔细看看吧。
以上就是关于“linux”怎么编译c的源程序的“gcc”编译命令是什么全部的内容,包括:“linux”怎么编译c的源程序的“gcc”编译命令是什么、如何编译C语言源代码、如何编译C文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)