摘要: #include <stdio.h>int mystr_len(char *Desstr){if(Desstr == NULL) return 0;if(*Desstr == '\0'){ return 0;}else return (1+(mystr_len(++Desstr)));注意是先++}int main(){char *str = "hello";printf("%d",mystr_len(str));return 0;} 阅读全文
posted @ 2012-08-30 20:13 l851654152 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 运算符和函数的区别,运算符是可以直接在cpu中执行的(顾名思义用于运算的的符号),而函数则需要一层一层往下调用执行,new和malloc区别,我们在声明全局对象时,内存是由编译器分配的,而编译器是无法控制函数的执行的,new就像+ - * /一样用于内存分配,sizeof也是运算符是计算出所需要的内存,new运算符符内部会调用sizeof. 阅读全文
posted @ 2012-08-30 11:28 l851654152 阅读(942) 评论(0) 推荐(0) 编辑
摘要: 其实是系统调用CRT,然后CRT调用的WinMain.一个C++应用程序的启动过程:a.shell调用CreateProcess激活App.exeb.系统产生一个进程内核对象,使用计数值加1c.系统为此进程产生4GB的地址空间d.加载器将必要的码加载到上述地址空间中,包括App.exe的程序,资料以及所需要的dll。它们被记录在可执行文件PE格式的.idata section中。e.系统为此进程建立一个执行线程,即主线程。执行线程才是CPU时间的分配对象。f.系统调用C Runtime函数库的StartUp codeg.startup code调用APP程序的WinMain函数h.APP程序开 阅读全文
posted @ 2012-08-30 00:02 l851654152 阅读(183) 评论(0) 推荐(0) 编辑