程序员的自我修养的笔记(231)

>我来写笔记

按有用程度 按页码先后 最新笔记

  • ziyoudefeng

    ziyoudefeng (娜娜,有你生活真幸福~~)

    过度优化的问题自然很多,这里不再描述。只说解决方法: 可以使用volatile关键字来试图阻止过度优化,volatile基本可以做到两件事情: 1、阻止编译器为了提高速度将一个变量缓存到寄存器内而不写回。 2、阻止编译器调整操作volatile变量的指令顺序。 但即使这样,还是有问题。 因为即使volatile能够阻止编译器调整指令顺序,也无法阻止CPU动态调度换序。下面举例说明: Singleton模式 /..   (2回应)

    2012-12-22 14:21   1人喜欢

  • ziyoudefeng

    ziyoudefeng (娜娜,有你生活真幸福~~)

    本篇笔记全文摘自后面参考文献列出的地址,不过原文中有一些错别字,我这里把错别字改了改,然后也是按照自己机器上代码的结果来进行演示。再结合本书前面第6章“6.5 Linux内核装载ELF过程简介”来进行说明。 1、开始 The question is simple: how does linux execute my main()? Through this document, I'll use the following simple C program to illustrate how it works. It's called "execute_main.c" ...

    2012-12-19 20:41

  • ziyoudefeng

    ziyoudefeng (娜娜,有你生活真幸福~~)

    /代码内容已省略/ 例如: /代码内容已省略/ 其中: 第一列是VMA的地址范围 第二列是VMA的权限,r代表可读,w代表可写,x代表可执行,p代表私有,s代表共享 第三列是偏移,表示VMA对应的Segment在映像文件中的偏移 第四列是映像文件所在设备的主设备号和次设备号 第五列是映像文件的节点号 最后一列是映像文件的路径

    2012-12-09 21:24   1人喜欢

  • vivi

    vivi (执子之手,将子拖走)

    一、程序的编译过程,目标文件里究竟是什么 从源程序到目标文件的生成过程 最简单的编译命令是gcc helloworld.c,它包含了以下几个步骤: 预处理、编译、汇编、链接,下面分别简介。 预处理:处理#define宏定义、#if #ifdef等条件编译指令、#include预编译指令,删除注释,添加行号和文件名标识,保留所有的#pargma编译器指令,经过预编译后的文件为.i文件。预编译命令为:gcc -E hello.c -o hello.i或者cpp hello.c > ...   (2回应)

    2011-05-06 17:24   4人喜欢

  • Love Scarlett

    Love Scarlett (电影起码要看到100部吧)

    除了..."EXPORTS"等关键字以外 不是 以为.

    2017-02-20 20:53

  • Love Scarlett

    Love Scarlett (电影起码要看到100部吧)

    类型变了 不是十六进制 是字符串了. /代码内容已省略/ /代码内容已省略/

    2017-02-11 09:51

  • QMX

    QMX

    2016-06-28 11:51

  • QMX

    QMX

    2016-06-28 11:40

  • QMX

    QMX

    2016-06-28 11:33

  • QMX

    QMX

    2016-06-28 11:28

<前页 1 2 3 4 5 6 7 8 9 ... 23 24 后页>

笔记是你写在书页留白边上的内容;是你阅读中的批注、摘抄及随感。

笔记必须是自己所写,不欢迎转载。摘抄原文的部分应该进行特殊标明。

程序员的自我修养

>程序员的自我修养