问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

gcc -g -o -c分别是什么意思

发布网友 发布时间:2022-04-23 03:00

我来回答

4个回答

热心网友 时间:2022-04-08 09:19

-c和-o都是gcc编译器的可选参数。

-c表示只编译(compile)源文件但不链接,会把.c或.cc的c源程序编译成目标文件,一般是.o文件。-o用于指定输出(out)文件名。不用-o的话,一般会在当前文件夹下生成默认的a.out文件作为可执行程序。

例如:

gcc -c test.c将生成test.o的目标文件

gcc -o app test.c将生成可执行程序app

gcc -c a.c -o a.o表示把源文件a.c编译成指定文件名a.o的中间目标文件(其实在这里,把-o a.o省掉,效果是一样的,因为中间文件默认与源文件同名,只是后缀变化)。

1、如果GCC不带-C参数,编译一个源代码文件(test.c)。那么会自动将编译和链接一步完成,并生成可执行文件。可执行文件可以有-o参数指定(test.o)

2、如果是多个文件,则需要先编译成中间目标文件(一般是.o文件),在链接成可执行文件,一般习惯目标文件都是以.o后缀,也没有硬性规定可执行文件不能用.o文件。

扩展资料:

gcc:GNU编译器套件(GNU Compiler Collection)包括C、C++、Objective-C、Fortran、Java、Ada和Go语言的前端,也包括了这些语言的库(如libstdc++、libgcj等等)。GCC的初衷是为GNU操作系统专门编写的一款编译器。GNU系统是彻底的自由软件。此处,“自由”的含义是它尊重用户的自由。

基本用法:

-o output_filename,确定输出文件的名称为output_filename,同时这个名称不能和源文件同名。如果不给出这个选项,gcc就给出预设的可执行文件a.out。

-O,对程序进行优化编译、链接,采用这个选项,整个源代码会在编译、链接过程中进行优化处理,这样产生的可执行文件的执行效率可以提高,但是,编译、链接的速度就相应地要慢一些。

参考资料来源:百度百科-gcc (GNU编译器套件)

热心网友 时间:2022-04-08 10:37

-g 可执行程序包含调试信息:加个-g 是为了gdb 用,不然gdb用不到。

-o 指定输出文件名(o:output)-o output_filename,确定输出文件的名称为output_filename,同时这个名称不能和源文件同名。如果不给出这个选项,gcc就给出预设的可执行文件a.out。

-c 只编译不链接:产生.o文件,就是obj文件,不产生执行文件(c : compile)。

gcc filename.c -o filename
上面的意思是如果你不打 -o filename(直接gcc filename.c );那么默认就是输出a.out.这个-o就是用来控制输出文件的。用./a.out 执行文件。

其他参数含义:

1、-ansi

关闭 gnu c中与 ansi c 不兼容的特性, 激活 ansi c 的专有特性(包括禁止一些 asm inline typeof 关键字, 以及 UNIX,vax 等预处理宏)。

2、-fno-asm

此选项实现 ansi 选项的功能的一部分,它禁止将 asm, inline 和 typeof 用作关键字。    

3、-fno-strict-prototype

只对 g++ 起作用, 使用这个选项, g++ 将对不带参数的函数,都认为是没有显示的对参数的个数和类型说明,而不是没有参数。

而 gcc 无论是否使用这个参数, 都将对没有带参数的函数, 认为没有显示说明的类型。 

4、-fthis-is-varialble

就是向传统 c++ 看齐, 可以使用 this 当一般变量使用。 

5、-fcond-mismatch

允许条件表达式的第二和第三参数类型不匹配, 表达式的值将为 void 类型。 

6、-funsigned-char 、-fno-signed-char、-fsigned-char 、-fno-unsigned-char

这四个参数是对 char 类型进行设置, 决定将 char 类型设置成 unsigned char(前两个参数)或者 signed char(后两个参数)。 

7、-include file

包含某个代码,简单来说,就是便以某个文件,需要另一个文件的时候,就可以用它设定,功能就相当于在代码中使用#include<filename>。

热心网友 时间:2022-04-08 12:12

-g为了调试用的
加个-g 是为了gdb 用,不然gdb用不到

-o output_filename,确定输出文件的名称为output_filename,同时这个名称不能和源文件同名。如果不给出这个选项,gcc就给出预设的可执行文件a.out。
一般语法:
gcc filename.c -o filename
上面的意思是如果你不打 -o filename 那么默认就是输出filemame.out.这个-o就是用来控制输出文件的。

-c 只编译不链接追问-c 只编译不链接
打上-c就是不产生可执行文件吗?

追答产生.o文件,就是obj文件,不产生执行文件

热心网友 时间:2022-04-08 14:03

-g 可执行程序包含调试信息
-o 指定输出文件名
-c 只编译不链接
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...可以如期完成,而实际加工每天多做40件,结果提前6天完成,列方程为... ...实际加工时,每天多加工40个,结果提前6天完成,他们 ...完1/3时改进技术每天加工40个,结果提前4天完成,这批零件有多少_百度... ...可以如期完成,而实际每天多加工40件,结果提前 ...实际每天比原计划多生产40个,结果提前5天完成任务.原计划要生产多少... 课程与小学教学有什么关系? 千万不要再瞎买指数型基金了 2年前买了一万块的基金以前的最新净值是1.0现在是0.8卖出会得到多少钱... 策略、动作、冒险、适合男生玩的好玩手机游戏推荐几款 柑桔的营养价值如何? 在家里养绿植,要如何防止蚊虫生长过多呢? gcc -o是什么意思 我是成龙,60年来我陆续拍摄了250部电影,现在春节档到了,你最喜欢其中的哪一部电影?为什么? 水培的富贵竹可以移栽到土壤里吗?为什么? 宫颈囊肿怎么引起的. 宫颈上长了个大囊肿是什么原因导致的? PTU什么东东 宫颈口有个囊肿, 如何治疗?需要忌口什么食物?十分担心 宫颈上长囊肿应该怎样处理 *壁里边宫颈边上长了个囊肿!请问要手术治疗吗?一般是什么&#65533;&#65533; 女儿宫颈上长了一个囊肿每半个月左右有黑色的排泄物像月经一样咋办呀 宫颈囊肿该怎样治疗?前几年发现宫颈上有一个小囊肿 宫颈里有囊肿是什么引起的? 慢性宫颈炎伴纳氏囊肿怎么治疗?有图!!! 宫颈囊肿早期能治愈的吗 我妈妈的宫颈有四个小囊肿该怎么治疗呢,会不会有生命危险,,会不会有癌变的可能呢 今天去做了妇科检查,医生说宫颈上长了两个囊肿,严重吗? 请问宫颈上长了个小的囊肿可以不用做手术吗? 宫颈上长囊肿怎么办 宫颈上长了一个囊肿,该怎么办? 关于历史故事 gcc -o edit edit.c这条命里面每一个命令代表什么意思? 我在海口市的火车站下车 想直接坐公交车去龙华区的华海路 请问要坐几路公交车 到附近也行 多谢 请问编写makefile时,gcc -o $@ $^,这个语句时什么意思啊? 成龙的电影作品 gcc怎么编译.o 油尖旺区的风景名胜 gcc编译时把-o放在-g前面为什么会报错 在linux中gcc-o 运行后出现error 有房有车有老婆的31岁男子跳桥身亡,究竟是什么导致他轻生? linux命令选项和参数的顺序是怎么规定的 如gcc -o hello.c hello 和 gcc hello.c -o hello linux下 “gcc -o helloworld.o helloworld.c” 生成的.o文件是可执行的,但是一般.o都是obj目标文件? gcc -o main main.cpp 和 gcc main.cpp -o main 有什么区别啊 gcc 生成 .o 文件时问什么必须要目标文件名,不是可以默认吗? gcc gcc -o main.c -ltest -L. gcc命令求详解!!! linux 中,gcc -c 产生目标代码,-o连接文件。其实很多时候直接-o就可以了,为什么要-c呢? cmd &#47;c &quot;gcc -o $(CURRENT_DIRECTORY)$(NAME_PART) $(FULL_CURRENT_PATH) 这是什么意思,属于什么语言。 什么是GCC?GCC有什么作用? 三亚凤凰机场到南山、南山到鸿港市场、鸿港市场到大东海银泰酒店分别的打车大致公里数和价格是多少?谢谢!