C++
lioyio
这个作者很懒,什么都没留下…
展开
-
C/C++函数调用的几种方式
我们知道,调用函数时,计算机常用栈来存放函数执行需要的参数,由于栈的空间大小是有限的,在windows下栈是向低地址扩展的数据结构,是一块连续的内存区域。这句话的意思是栈顶的地址和栈的最大容量是系统预先规定好的,windows下栈的大小是2M(也有的说是1M),如果申请的空间超过栈的剩余空间时,将提示overflow。在函数调用时,第一个进栈的是主函数中后的下一条指令(函数调用语句的下一条可执转载 2013-04-16 10:06:30 · 532 阅读 · 0 评论 -
Windows消息机制要点
1. 窗口过程 每个窗口会有一个称为窗口过程的回调函数(WndProc),它带有四个参数,分别为:窗口句柄(Window Handle),消息ID(Message ID),和两个消息参数(wParam, lParam), 当窗口收到消息时系统就会调用此窗口过程来处理消息。(所以叫回调函数)2 消息类型 1) 系统定义消息(System-Defined Messages)转载 2013-04-16 10:09:57 · 478 阅读 · 0 评论 -
内存对齐分配策略(含位域模式)
转载自:http://xgj2008best.blog.163.com/blog/static/545841572011961751307/ 1:内存对齐定义: 现在使用的计算机中内存空间都是按照字节划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但是实际上计算机系统对于基本数据类型在内存中的存放位置都有限制,要求这些数据存储首地址是某个数K的倍数,这样各种基本转载 2013-04-16 18:06:19 · 374 阅读 · 0 评论 -
写一个函数,完成内存之间的拷贝。[考虑问题是否全面](转)
原文地址:http://blog.163.com/lh_bbs/blog/static/14307080320118161324675/ 方法一:void* mymemcpy( void *dest, const void *src, size_t count ){ char* pdest = static_cast( dest ); const char*转载 2013-04-19 21:23:40 · 475 阅读 · 0 评论 -
strlen的各种实现
学习高效编程的有效途径之一就是阅读高手写的源代码,CRT(C/C++ Runtime Library)作为底层的函数库,实现必然高效。恰好手中就有glibc和VC的CRT源代码,于是挑了一个相对简单的函数strlen研究了一下,并对各种实现作了简单的效率测试。strlen的函数原形如下: size_t strlen(const char *str);strlen返转载 2013-04-20 15:50:43 · 495 阅读 · 0 评论