A. 为什么makefile生成不是.o文件而是生成的.d文件呢,怎么解决
.d 是中间文件,是正常的啊,同时也会生成.o 或者 .opp 才对
B. C语言程序编译后产生哪些类型的文件这些文件的作用是什么
1、以GCC编译器为例,可以分为四步。
第一步是预处理,包括语法检查等工作。
gcc
-P
abc.c
第二步由源程序生产汇编语言代码。
gcc
-S
abc.c
会生成abc.s文件,这个文件里就是汇编代码。
第三步编译器生成目标代码,一个源文件生成一个目标代码。
gcc
-c
abc.c
会生成abc.o
第四步连接器从目标代码生成可执行文件。
gcc
abc.o
2、目标代码包括机器码和符号表(函数及变量名)。连接器的主要作用是通过符号表在库文件和其他模块中找到在目标代码中引入或未定义的符号(函数及变量名),将几个目标代码合成可执行文件。
C. *.o文件是什么文件
.o文件就是对象文件,是可重定向文件的一种,通常以ELF格式保存,里面包含了对各个函数的入口标记,描述,当程序要执行时还需要链接(link).链接就是把多个.o文件链成一个可执行文件。
在win平台下,用来链接的重定向文件也可为PE格式的.obj文件
当多种编程语言希望混合编译时,就可以通过分别编译成.o文件,再链接(link)成可执行文件。
(3)编译产生的d文件o文件是什么扩展阅读:
以 Code::Blocks ,win系统为例,我们每次写好一段程序,构建并运行以后都会在存储该程序的文件夹里自动生成一个 *.o 文件和一个*.exe 文件。
而后者是可以直接运行的(双击即可打开)。当我们写好了一个大的程序的各个部分以后,就可将所有的*.o 文件链接成一个可执行文件。
D. 编译完成之后得到的.o文件,为什么叫可重定位目标文件
c语言编译.c和.cpp文件为.o文件,是将所有的.c和.cpp文件都生成.o文件。再把所有的.o文件链接成为可执行程序。而每一个.o目标文件对应不同的源文件,所以叫可重定位目标文件。
E. 安卓编译内核生成的是o文件吗,然后再打包进boot.img
.o是中间文件,.ko是内核模块
kernel是一个可执行的bzImage,简单来讲就是由.o链接生成的目标文件,不是像你说的那样n多.o
.ko可以编译进内核,也可以不编译进内核,作为插件的形式存在
安装内核的意思就是把内核到启动分区,然后安装内核模块,以及一些其他的东西。。
每次开机直接把内核装载到内存里面去不就行了吗,这也得先安装才行不是。
F. linux下 为什么要生成.o文件 .o文件和.c文件还有生成的可执行文件有啥区别啊
linux下.c只是简单的文本文件,.o是编译之后的二进制文件,操作方法如下;
1、首先在电脑中打开linux,然后安装gcc g++编译工具。
G. 程序编译后形成的文件是什么
玩c++建议去linux下玩,首先要搞明白编译的是使用哪个编译器,编译的过程是怎么样。写写几个Makefile就知道了。先直接用命令行操作,然后用集成的IDE来写代码。
对于编译过程,总体上是这样,源代码(*.h,*.cpp/c)经过预编译,编译,生成目标文件(Windows下应该是.obj文件,Linux/unix下是.o文件),然后通过链接(将各种目标文件.obj(.o) 和 目标文件的集合(动态静态库dll(windows下),so(linux/unix下))),最终成功可执行文件(Windows下叫exe,Linux/unix下随便以什么结尾了)。
H. 请问:c语言编译成功后生成后缀名为.o的文件,什么东东,什么作用。
是编译成功后的文件。
以hello.c为例:
先将源文件编译成目标文件:gcc - c hello.c。生成hello.o文件,再将目标文件编译成可执行文件:gcc -o hello hello.o
这样就生成了可执行文件,在./hello就可以运行hello了。
I. .o是什么文件
你好,.o文件又称对象文件,是可执行文件。
.o文件就是对象文件,是可重定向文件的一种,通常以ELF格式保存,里面包含了对各个函数的入口标记,描述,当程序要执行时还需要链接(link).链接就是把多个.o文件链成一个可执行文件。
在win平台下,用来链接的重定向文件也可为PE格式的.obj文件
当多种编程语言希望混合编译时,就可以通过分别编译成.o文件,再链接(link)成可执行文件。
以 Code::Blocks ,win系统为例,我们每次写好一段程序,构建并运行以后都会在存储该程序的文件夹里自动生成一个 *.o 文件和一个*.exe 文件,而后者是可以直接运行的(双击即可打开)。当我们写好了一个大的程序的各个部分以后,就可将所有的*.o 文件链接成一个可执行文件。
望采纳!
J. 你知道不知道MDK编译生成的后辍为.o的文件是什么文件啊,起什么作用呢我也是刚开始学的,多交流啊,呵呵
.o文件就是对象文件,里面包含的内容就是01这样的机器可执行的指令,当程序要执行时还需要进行链接(link).链接就是把多个.o文件链成一个可执行文件。
说白了 就是编译后 你用JLINK下载的进去的机器指令码的感觉 我是这么理解的 呵呵
类似HEX文件 希望能帮到你