当前位置:首页 » 编程软件 » gcc编译生成o程序

gcc编译生成o程序

发布时间: 2024-09-02 08:57:45

1. 请问:c语言编译成功后生成后缀名为.o的文件,什么东东,什么作用。

是编译成功后的文件。
以hello.c为例:
先将源文件编译成目标文件:gcc - c hello.c。生成hello.o文件,再将目标文件编译成可执行文件:gcc -o hello hello.o
这样就生成了可执行文件,在./hello就可以运行hello了。

2. linux gcc编译好C文件后生成.o目标文件,但是在执行中($./test)出现没有那个文件或目录,请大神帮忙。

.o文件是不能被执行的, c的源码要经过编译和链接才能生成可执行文件,你只是编译了,没有链接,这个文件相当于Windows下的test.obj而已。gcc -Wall test.c -o test

3. gcc-c和-o有什么区别

-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文件。

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

4. linux下能生成两种.o的文件 一个是我用gcc编译生成的 另一个是makefile生成的,这俩一样么

一样的,makefile只是一个脚本,它实际调用的是gcc。

但你这里用“gcc -o helloword.o helloworld.c”调用的是linux(x86的)的标准gcc,而你的makefile脚本中的gcc版本是arm_v5t_le-gcc(是用在arm嵌入式处理器的)。两个处理器不一样,自然编译出的helloworld.o不一样,前者只能在x86电脑上运行,后者只能在arm嵌入式处理机中运行。

你把makefile中的“CC=arm_v5t_le-gcc”改成“CC=gcc”然后再make,之后肯定能运行。

5. gcc怎么编译.o

gcc中-c和-o是编译时可选的参数
-加-c, (compile)只编译生成中间同名目标文件,不链接
-加-o,(output)指定输出文件名,该文件为可执行文件,不加-o会默认生成a.out
举例:
gcc -c hello.c 编译生成hello.o文件
gcc -o hello hello.c 生成可执行文件hello

6. linux下 为什么要生成.o文件 .o文件和.c文件还有生成的可执行文件有啥区别啊

linux下.c只是简单的文本文件,.o是编译之后的二进制文件,操作方法如下;

1、首先在电脑中打开linux,然后安装gcc g++编译工具。

热点内容
automator脚本 发布:2024-11-25 04:41:18 浏览:310
敲背面截图怎么弄安卓 发布:2024-11-25 04:39:18 浏览:809
安卓机关机如何设置快捷方式 发布:2024-11-25 04:16:02 浏览:636
安卓绿联和倍思哪个品牌好 发布:2024-11-25 03:54:45 浏览:890
androidpack 发布:2024-11-25 03:53:17 浏览:446
阿里云sql 发布:2024-11-25 03:53:15 浏览:714
服务器为什么一段时间就连不上 发布:2024-11-25 03:44:36 浏览:769
图片上下FTP是什么 发布:2024-11-25 03:43:18 浏览:760
微服务无状态存储管理 发布:2024-11-25 03:34:43 浏览:23
行上传 发布:2024-11-25 03:33:07 浏览:485