首页文章正文

c生成可执行文件过程,java如何生成可执行文件

c文件到可执行文件 2022-12-25 05:15 237 墨鱼
c文件到可执行文件

c生成可执行文件过程,java如何生成可执行文件

ˋ^ˊ〉-# 一、c文件到可执行文件C语言从源文件到最终的可执行文件,要经过下面几个步骤,可以通过gcc编译工具来进行每一步的处理gcc的常用选项-E只预处理,不会编译、汇编、链接-S编译到汇预处理:源文件.c ---》处理后的源文件为.i 文件编译:源文件.i ---》变成汇编文件.s 汇编:汇编文件.s ---》生成目标文件.o 链接:可重定位目标文件.o ---》生成可执行目标

(1)可重定位文件.obj,这种文件包括数据和指令,可以被链接成为可执行文件(.exe)或者共享目标文件(.so),静态链接库可以归为这一类;(2)可执行文件.exe,这种文件包含了可以直接运行的程序,它的代表就从源文件到可执行文件一般需要经过几个步骤:预处理->编译->汇编->链接这四个过程。预处理:预处理相当于根据预处理命令将源代码转换为新的c 程序,不过通常以

编译器前端负责产生于机器无关的中间代码,编译器后端将中间代码换成机器代码。代码生成器将中间代码转成机器代码,这个过程是依赖于目标机器的,因为不同的机器有着不同的字长、寄存在当前目录下会多出一个预处理结果文件test.i,打开test.i 可以看到,在test.c 的基础上把stdio.h和stdlib.h的内容插进去了。2) 编译为汇编代码gcc -S test

把每个目标文件.o合并成为一个可执行程序(Linux默认是a.out文件); 合并段表的意思是:将每个单独的.o文件的段表信息合并成为一个段表信息:比如一个工程由两个源文件:add.c 和main.root@Turbo:t# gcc test.o -o test root@Turbo:t# ls test test.c test.i test.o test.s root@Turbo:t# ./test hellowrld 如果工程里面有多个C文件,就会产生多个.o文件,链接的时候

在当前目录下会多出一个预处理结果文件test.i,打开test.i 可以看到,在test.c 的基础上把stdio.h和stdlib.h的内容插进去了。2) 编译为汇编代码gcc -S test生成过程: CC++可执行文件生成过程1. 预处理:处理#define【进行宏替换】 if # endif 2. 编译:把程序转成汇编3. 汇编:把汇编代码转成二进制数据4. 链接:链接

后台-插件-广告管理-内容页尾部广告(手机)

标签: java如何生成可执行文件

发表评论

评论列表

灯蓝加速器 Copyright @ 2011-2022 All Rights Reserved. 版权所有 备案号:京ICP1234567-2号