码迷,mamicode.com
首页 >  
搜索关键字:编译器 编译原理 链接器    ( 15672个结果
Tiny语言运行环境TM机源代码
TM机就是TINY语言编译器编译之后的汇编代码的运行环境。TM机的主要功能是将TM的汇编代码读入和执行,它具有一般计算机类似的精简指令级RISC。TM汇编语言和一般的Intel汇编语言差不多,包括寄存器寻址、操作符等,很容易理解。一条典型的代码如:LD 0,10(1),这里面10(1)就是寄存器1中地址为基址,10为偏移地址,寻址结果放入寄存器0。三目操作符:MUL 0,1,0表示将寄存器1和寄存...
分类:其他好文   时间:2014-05-18 18:24:00    阅读次数:275
Tiny语言编译器简介
1.简介:编译器是将一种语言翻译成另一种语言的程序。编译器将源程序的代码作为输出,从而产生用目标语言编写的等价程序。例如源代码为C/C++等高级语言,那么目标语言就是目标机器的机器代码,也就是可以直接运行的机器代码(各种二进制)。下面就是一个编译过程的简单例子: x=2 (高级语言) MOV x,2 (汇编语言) C7 06 0000 0002 (机器代码)       2.相关程序...
分类:其他好文   时间:2014-05-18 13:41:56    阅读次数:263
(备忘)vs2010编写动态链接库时导出函数的函数名问题及加载方式
在vs2010中使用.def文件导出函数时,仅仅添加.def文件是不够的,还要在  项目属性 -> 链接器 -> 输入 -> 模块定义文件  中添加自定义的.def文件名。  使用dumpbin命令查看导出函数名的一些注意事项可参考上一篇。...
分类:其他好文   时间:2014-05-18 10:39:56    阅读次数:896
android 内部类的优化
developer.android.com 文档中有一篇关于性能的文章,里面提到了内部类的使用。文章建议“对于私有内部类 使用 包访问权限代替私有权限访问”, 这里说的是在内部类访问外部类的成员或方法时如果 内部类是私有的并且外部类的成员也是私有的,那么编译器就会为内部类在外部类中增加一个静态方法。 真的是这样的吗?只有试一试才知道。 我们使用一个简单的例子来测试下: public c...
分类:移动开发   时间:2014-05-18 07:23:58    阅读次数:387
gcc使用c++库
在c语言程序中调用c++库。需要做以下两步工作: 1、定义头文件时,要加上 #ifdef __cplusplus extern "C" { #endif 头文件内容 #ifdef __cplusplus } #endif 这个是表示在c++编译器编译时,生成的函数名使用c语言格式修饰符。 2、在用gcc进行链接时,要加上 -lstdc+...
分类:其他好文   时间:2014-05-18 06:24:28    阅读次数:378
编译器 STVD 于IAR 的区别 个人体验
编译器 STVD 于IAR 1:全局查找功能: STVD:全局查找功能全局查找功能比较麻烦,有3个动作。 IAR:有全局查找功能比较方便,只要一个动作,和KEIL一样。 2:编译时间 STVD:相对比较慢。 IAR:相对快点。 因为IAR可以分两个工程文件放置,编译时候我们可以只要编译更改的工程文件就可以了。因此就不用将所有文件都编译一次,以此省一点时间。...
分类:其他好文   时间:2014-05-18 05:07:35    阅读次数:195
复制构造函数 与 赋值函数 的区别
构造函数、析构函数、赋值函数是每个类最基本的的函数。每个类只有一个析构函数和一个赋值函数。但是有很多构造函数(一个为复制构造函数,其他为普通构造函数。对于一个类A,如果不编写上述四个函数,c++编译器将自动为A产生四个默认的函数,即:A(void) //默认无参数构造函数A(const A &a) ...
分类:其他好文   时间:2014-05-18 00:49:10    阅读次数:246
基于ε-NFA的正则表达式引擎
正则表达式几乎每个程序员都会用到,对于这么常见的一个语言,有没有想过怎么去实现一个呢?乍想一下,也许觉得困难,实际上实现一个正则表达式的引擎并没有想像中的复杂,《编译原理》一书中有一章专门讲解了怎么基于状态机来构建基本的正则表达式引擎,讲这个初衷是为词法分析服务,不过书里的东西相对偏理论了些,实现起...
分类:其他好文   时间:2014-05-17 22:50:19    阅读次数:981
交叉编译
在一种计算机环境中运行的编译器,能编译出在另外一种环境下运行的代码,我们就称这种编译器支持交叉编译。这个编译过程就叫交叉编译。简单地说,就是在一个平台上生成另一个平台上的可执行代码,而这种工具就是交叉编译器(cross compiler)。这里需要注意的是所谓平台,实际上包含两个概念:体系结构(Ar...
分类:其他好文   时间:2014-05-17 22:38:58    阅读次数:434
Android开发环境搭建NDK(系列二)
一、关于NDK:NDK全称:Native Development Kit。 1、NDK是一系列工具的集合。 NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨大的。 NDK集成了交叉编译器,并提供了相应的mk文...
分类:移动开发   时间:2014-05-17 21:19:56    阅读次数:417
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!