- 博客(12)
- 收藏
- 关注
转载 【C/C++高质量编程 笔记】
1.C语言标准的本质:标准C语言没有提供实现,只是定义了标准的函数接口,所有工作都是通过库函数完成的。2.什么是语言实现:具体实现一种语言的各种特征并支持特定编程模式的技术和工具,具体说就是编译器和连接器或者是解释器。3. 基于应用程序框架(比如MFC),生成
2011-05-26 22:56:00 929
原创 C++和Java的属性访问和方法调用 效率比较
属性访问----C++快于JavaJVM访问对象属性时(字节码OP_IGET_/OP_SGET_),会先通过属性名字字符串去查ClassObject元数据中属性的偏移(通过属性名字符串找到ClassObject中Field,再取保存在Field中属性在对象中的偏移,最后访问属
2011-05-19 10:54:00 1452
转载 Dalvik漫谈
<br /><br />由於Dalvik所涉及的範圍不少,從JNI介面,Trace-JIT的實作,到最佳化的技巧,筆者在本文只會針對自己挑選的區塊以Android 2.2 Source Code加以說明.同樣的,所有涉及的內容,都會隨著Android程式碼的改版而有所差異,還請以最新取得的Package為主.<br /> <br /> 在此以引用侯捷曾說過的 "源碼之前了無秘密",對有志於深入探究Dalvik運作原理的人而言,Android所釋出的Source Code,就是最好的Handbo
2011-05-17 15:11:00 4380
原创 dalvik对于Java方法调用的实现
<br />(入口一)字节码OP_INVOKE_ (汇编实现)<br />1.dvmResolveMethod:(C函数)决议方法的Method :方法名字字符串找ClassObject中Method<br />2.(设置调用环境)创建一个方法调用栈帧(设置参数)<br />3.分支----(汇编)<br />->本地方法:nativeFunc(C函数)<br /> ...........<br /> ...........<br />->Java方法:(1)设置interpState(字节码)初始
2011-05-17 14:48:00 2837
转载 CRT 入口函数 CRTStartup
<br /><br />windows启动一个程序的过程大概是这样的:首先由外壳程序(比如Explorer)调用CreateProcess这个系统调用,CreateProcess为这个进程创建虚拟地址,然后将代码和数据载入,然后系统再创建一个主线程开始执行runtime startup函数的代码,runtime startup 函数会最终调用入口点函数(main,WinMain)。<br />run time startup会做很多事情,比如全局变量的创建和销毁,入口点函数的调用等。这里我就要有
2011-05-16 14:53:00 3491
转载 最大公约数
<br />辗转相除法(最大公约数=较小数和余数的最大公约数)<br /> <br />辗转相除法使用到的原理很聪明也很简单<br />假设用f(x, y)表示x,y的最大公约数,取k = x/y,b = x%y,则x = ky + b,如果一个数能够同时整除x和y,则必能同时整除b和y;而能够同时整除b和y的数也必能同时整除x和y,即x和y的公约数与b和y的公约数是相同的,其最大公约数也是相同的,则有f(x, y)= f(y, x%y)(y > 0),如此便可把原问题转化为求两个更小数的最大公约数
2011-05-14 19:34:00 591
转载 Floyd算法
Floyd算法是一个经典的动态规划算法。用通俗的语言来描述的话,首先我们的目标是寻找从点i到点j的最短路径。从动态规划的角度看问题,我们需要为这个目标重新做一个诠释(这个诠释正是动态规划最富创造力的精华所在),floyd算法加入了这个概念 Ak(i,j):表示从i
2011-05-13 10:53:00 572
原创 arm-eabi-gcc: error trying to exec 'cc1': execvp: No such file or directory
arm-eabi-gcc: error trying to exec 'cc1': execvp: No such file or directory总结一下:1、确认CROSS-COMPILE的目录在PATH里面2、确认cc1是存在的3、确认交叉编译工具的权限
2011-05-11 10:58:00 7851
转载 GNU (内部)make函数
<br /><br />GNU make的函数提供了处理文件名、变量、文本和命令的方法。使用函数我们的Makefile可以书写的更加灵活和健壮。可以在需要的地方地调用函数来处理指定的文本(需要处理的文本作为函数的参数),函数的在调用它的地方被替换为它的处理结果。函数调用(引用)的展开和变量引用的展开方式相同。8.1 函数的调用语法<br />GNU make函数的调用格式类似于变量的引用,以“$”开始表示一个引用。语法格式如下:<br /> <br />$(FUNCTION ARGUMENTS)<
2011-05-06 10:23:00 1436
原创 Android system.img 打包解包
<br />system.img为yaffs2镜像<br /><br /> 1.解包 对system.img)的解包需要用到unyaffs这工具,下载地址:http://code.google.com/p/unyaffs/downloads/list<br /> 下载以后和system.img放入同一个文件夹<br /> 解包命令:<br />./unyaffs system.img<br /><br /><br /> 2.打包<br /> 这里要用到编译yaffs2镜像制作工具:
2011-05-05 15:51:00 9906
转载 控制反转-依赖倒置-依赖注入
控制反转:框架控制应用/组件依赖倒置:依赖注入:框架动态注入依赖关系到应用/组件----------------------------------------------------------------------------------在《道法自然——面向
2011-05-05 13:43:00 964
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人