
c/c++
文章平均质量分 83
__Silent
这个作者很懒,什么都没留下…
展开
-
堆、栈及静态数据区详解
五大内存分区 在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那转载 2009-12-30 22:15:00 · 290 阅读 · 0 评论 -
关于voiletile关键字。
MSDN Library中写到: volatile 关键字表示字段可能被多个并发执行线程修改。声明为 volatile 的字段不受编译器优化(假定由单个线程访问)的限制。这样可以确保该字段在任何时间呈现的都是最新的值。[从这里可以看出,如果使用了该修饰符,则应该是每次都从内存中读取的,对吧!] volatile 修饰符通常用于由多个线程访问而不使用 lock 语句(C# 参考)语句对访问进行序列化转载 2010-01-05 19:21:00 · 450 阅读 · 0 评论 -
for循环效率问题整理
问:下面哪种写法,循环语句的效率更高? for (row=0; row{for ( col=0; col{sum = sum + a[row][col];}}for (col=0; col{for (row=0; row{ sum = sum + a[row][col];}}原创 2010-01-04 18:40:00 · 2349 阅读 · 0 评论 -
(3) s3cmd get object 代码流程
ceph version 12.2.5 (cad919881333ac92274171586c827e01f554a70a) luminous (stable) s3cmd get 时的代码流程 get 代码调用流程 civetweb.c worker_thread: static void * worker_thread(void *thread_func_param) { ...原创 2018-09-17 19:01:42 · 1241 阅读 · 0 评论