* 1楼 __fastcall具体含义在C语言中,假设我们有这样的一个函数:int function(int a,int b)调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算 ...
分类:
其他好文 时间:
2016-07-21 21:30:06
阅读次数:
129
在编译共享库必须加上-fpic。这是为什么呢? 首先看一个简单的例子: 先不加-fpic的情况下生成库,反汇编查看fun1的机器码 可以看出调用printf的位置是那个唯一的一个call,并不是跳转到plt表,有关plt表的内容可以查看我前面的博文。也就是说在该库被加载时需要修改代码段来达到重定位的 ...
分类:
系统相关 时间:
2016-07-21 14:36:58
阅读次数:
285
什么是ASCII 计算机的起初是使用内存中的0101来表示数和机器码。如何用内存中的bit来表示文本一直困扰着人们,毕竟人类主要的信息展示是文字,而不是苦涩的0101。后来ASCII码的发明成功的解决了“部分”问题。说白了ASCII码就是解决了一个以数字形式表示文本的问题。 ASCII码全称为美国信 ...
分类:
其他好文 时间:
2016-07-12 17:10:39
阅读次数:
1380
面向对象的三大特性之一就是继承,继承运行我么重用基类中已经存在的内容,这样就简化了代码的编写工作。继承中有三种继承方式即:public protected private,这三种方式规定了不同的访问权限,这些权限的检查由编译器在语法检查阶段进行,不参与生成最终的机器码,所以在这里不对这三中权限进行讨论,一下的内容都是采用的共有继承。单继承首先看下面的代码:class CParent
{
public...
分类:
编程语言 时间:
2016-07-10 18:50:29
阅读次数:
247
点击进入_更多_Java千百问1、用二进制如何表示浮点型数值我们再了解二进制如何表达浮点型数值前,需要先了解用二进制如何表示整型数值:用二进制如何表示整型数值
由于计算机只认识0、1二进制,所以与表示整数一样,浮点数值最终也都会被解释为二进制机器码,与整型不同的是,所有由计算机储存的浮点类型,都是通过运算转换为十进制的,所以都是高度近似值,并不可能100%精确。具体规则如下:
遵循Ieee754标...
分类:
编程语言 时间:
2016-07-03 11:54:57
阅读次数:
209
汇编语言 指令用特定的名字来标记,这就是汇编语言 人比较容易看懂汇编语言 汇编直接和程序一一对应的 有汇编器把程序翻译成机器码 把高级语言编译成计算机识别的语言 程序编译过程 命令行 UNIX 系统中自带了C语言的编译器,编译器的名字叫CC CC 的含义是C Compler Linux系统是一个开源 ...
分类:
移动开发 时间:
2016-07-03 09:15:02
阅读次数:
293
在开发过程中应该尽可能减少用户等待时间,让程序尽可能快的完成运算。可是无论是哪种语言开发的程序最终往往转换成汇编语言进而解释成机器码来执行。但是机器码是按顺序执行的,一个复杂的多步操作只能一步步按顺序逐个执行。改变这种状况可以从两个角度出发:对于单核处理器,可以将多个步骤放到不同的线程,这样一来用户完成UI操作后其他后续任务在其他线程中,当CPU空闲时会继续执行,而此时对于用户而言可以继续进行其他...
分类:
移动开发 时间:
2016-07-01 06:46:39
阅读次数:
403
Python的由来 Python这门语言是由C开发而来. C语言: 代码编译得到 机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工作 其他语言: 代码编译得到 字节码 ,虚拟机执行字节码并转换成机器码再后在处理器上执行 Python的种类 Python也分类,有Cpython、Jython ...
分类:
编程语言 时间:
2016-06-25 20:25:07
阅读次数:
437
class文件简介及加载
Java编译器编译好Java文件之后,产生.class 文件在磁盘中。这种class文件是二进制文件,内容是只有JVM虚拟机能够识别的机器码。JVM虚拟机读取字节码文件,取出二进制数据,加载到内存中,解析.class 文件内的信息,生成对应的 Class对象:
class字节码文件是根据JVM虚拟机规范中规定的...
分类:
编程语言 时间:
2016-06-24 16:07:10
阅读次数:
922
1.编程语言的发展历程. 最开始的编程语言代码是010101等形式的编程->机器码->汇编语言->C语言(需要自己管理内存;现有内库和工具不多)->Java/C#/PHP/Python等高级语言(不需要自己管理内存,每一种语言都有自己专门的虚拟机或者叫解释器处理类似这些事情;现存内库和工具相对齐全) ...
分类:
编程语言 时间:
2016-06-14 22:25:00
阅读次数:
180