Zhonghui

每个不曾起舞的日子,都是对生命的辜负

User Tools

Site Tools


程序:编译原理:编译原理

编译原理 Compilers


编译时机

1、动态编译(dynamic compilation)指的是“在运行时进行编译”;与之相对的是事前编译(ahead-of-time compilation,简称AOT),也叫静态编译(static compilation)。
2、JIT编译(just-in-time compilation)狭义来说是当某段代码即将第一次被执行时进行编译,因而叫“即时编译”。JIT编译是动态编译的一种特例。JIT编译一词后来被泛化,时常与动态编译等价;但要注意广义与狭义的JIT编译所指的区别。
3、自适应动态编译(adaptive dynamic compilation)也是一种动态编译,但它通常执行的时机比JIT编译迟,先让程序“以某种式”先运行起来,收集一些信息之后再做动态编译。这样的编译可以更加优化。

交叉编译

交叉编译器(英语:Cross compiler)是指一个在某个系统平台下可以产生另一个系统平台的可执行文件的编译器。交叉编译器在目标系统平台(开发出来的应用程序序所运行的平台)难以或不容易编译时非常有用。

代码规范 Code Style

命名规范

Pascal 命名法每一个单词首字母都采用大写字母的命名格式,也有人称之为“大驼峰式命名法”(Upper Camel Case),为驼峰式命名法的子集。例如:FirstName、LastName、CamelCase

骆驼命名法(小驼峰):第一个单字以小写字母开始;第二个单字的首字母大写,例如:firstName、lastName。

某些语言,命名方式竟然会影响到逻辑(命名大小写影响可见性)

数值编码

编译阶段

预处理

汇编代码

目标机器代码

  1. obj文件(Windows)
  2. o文件(Linux)

链接

/var/www/DokuWikiStick/dokuwiki/data/pages/程序/编译原理/编译原理.txt · Last modified: 2024/04/29 17:35 by zh