当前位置:首页 » 编程软件 » 编译顺序

编译顺序

发布时间: 2025-04-11 10:08:32

㈠ 请问一下当编译软件编译代码的时候是按照怎么的顺序执行的呀

编译代码首先是进行预处理,然后编译,再链接,生成可执行程序

程序执行从main函数开始,程序顺序执行。如有以下代码:
#include <stdio.h>
#include <stdlib.h>

int add(int a, int b)
{
return a + b;
}

int sum(int a, int b)
{
return add(a, b);
}

int main(void)
{
int a = 1, b = 2, c = 3, d = 4;
int vaule1, vaule2;

vaule1 = sum(a, b);
vaule2 = add(c, d);

system("pause");
return 0;
}

则执行过程为
1、首先进入main函数
2、遇到第一个调用函数sum,则进入sum函数
3、在进入sum函数后,sum又调用了add函数,则进入add函数
4、add函数将 a+ b的值返回至sum函数;
5、sum函数返回至主函数,至此sum函数调用结束
6、在main函数中接下来开始进入调用函数add
7、add函数返回a+b的值至主函数,
8、程序执行结束

㈡ 对于一个比较大的工程,keil在编译那些文件的顺序是怎么样的怎么看出文件编译的先后顺呢

编译顺序就是左边项目的树型目录中的C文件排列顺序,这个顺序没什么关系的。
你要看的话,在编译的时候,提示信息会依次告诉你“compling xxxx.c...”

㈢ 关于java中一次编译多个源文件时的编译顺序的问题

在java编译过程中,确实是会自动寻找的.当它先编译Test的时候,发现需要先编译TestPackage类,才能完成编译Test的工作,然后编译器开始编译TestPackage.
如果,你的这两个java文件都没有打包,并且在同一个目录下的话,你可以通过直接输入javac Test.java看到,尽管你没有发出命令要求编译TestPackage类,但是由于编译器检测到需要有TestPackage类的支持,才能编译Test,所以这时TestPackage也被编译了.
现在程序打包了,你先编译Test的这种情况下,编译器先找的是包,而你的包org.it315.example是不存在的,所以会出错

㈣ android怎么样编译framework

在开发过程中,尤其是Framework相关开发时,有时候需要重新编译资源文件.编译顺序和注意事项如下:
1,资源文件位置:frameworks/base/core/res
2,编译后生成的文件:framework-res.apk 另外com.android.internal.R会更新这个R.java所在目录为/out/target/common/R/com/android/internal.
3,编译资源后,必须重新编译framework.jar.
4,如果在frameworks/base/core/res执行mm是并不重新编译,请使用toutch ### 命令
###代表目录下的一个文件.
5,资源文件要小写.
6,如果没有必要,不要编译资源文件,可以用其他方式使用资源,比如将资源使用adb push 传到某个目
录,程序中直接指定具体目录.我在编译资源过程中遇到一些奇怪的问题,比如有时候许多图标会显
示错误,原因猜测跟重新编译资源有关,可以试着重新编译services.jar并替换看看.

举一个例子:假如我想在WindowManagerService.java中使用一个图片资源pic.png.顺序如下.
1,将文件pic.png拷贝到位置:frameworks/base/core/res/res/drawable下.
2,在frameworks/base/core/res/res/drawable目录下执行touch pic.png.
3,进入目录frameworks/base/core/res/ 执行mm命令, 编译 framework-res.apk
4,执行完后com.android.internal.R 会新生成一个R.drawable.pic的引用.在程序中使用即可.
5,在目录frameworks/base/ 下执行mm 编译 framework.jar.
6,在WindowManagerService.java中使用com.android.internal.R.drawable.pic,使用完后保存文件.
7,进入目录frameworks/base/services/java/ 执行mm 编译 services.jar
8,替换机器上(虚拟机或者真机)的jar apk文件.
adb push framework-res.apk /system/framework/
adb push services.jar /system/framework/
adb push framework.jar /system/framework/
执行命令时注意framework-res.apk 的真实路径.
9,reboot 机器,查看修改结果.大功告成!

㈤ maven并发编译可不可以指定顺序

在多模块的工程中,如果模块之间存在依赖关系,那模块的编译必须要有顺序的要求。例如:P(parent)中包含A模块和B模块,且A模块依赖于B模块,那么在P中的pom,xml中需申明为:
<moles>
<mole>B</mole>
<mole>A</mole>
</moles>
B需要声明在A的前面,这样先编译后的内容才能被A依赖。

同时,什么version的时候,只需要在P中申明即可,如${p.version}其他的采用继承的方式,即在A和B模块中不申明自己的版本, A中依赖的B同样使用${P.version}完成。

热点内容
scratch少儿编程课程 发布:2025-04-16 17:11:44 浏览:621
荣耀x10从哪里设置密码 发布:2025-04-16 17:11:43 浏览:350
java从入门到精通视频 发布:2025-04-16 17:11:43 浏览:65
php微信接口教程 发布:2025-04-16 17:07:30 浏览:290
android实现阴影 发布:2025-04-16 16:50:08 浏览:783
粉笔直播课缓存 发布:2025-04-16 16:31:21 浏览:335
机顶盒都有什么配置 发布:2025-04-16 16:24:37 浏览:199
编写手游反编译都需要学习什么 发布:2025-04-16 16:19:36 浏览:794
proteus编译文件位置 发布:2025-04-16 16:18:44 浏览:352
土压缩的本质 发布:2025-04-16 16:13:21 浏览:580