“linux”怎么编译c的源程序的“gcc”编译命令是什么

“linux”怎么编译c的源程序的“gcc”编译命令是什么,第1张

格式 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文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9323941.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存