Lv.的博客
摘要: 你也许听说过“国际C 语言乱码大赛(IOCCC )”,能获奖的人毫无疑问是世界顶级C 程序员。这是他们利用C 语言的特点极限挖掘的结果。下面这个例子就是网上广为流传的 一个经典作品:// 原始代码如下 #include <stdio.h> char *a;main(int t,int _,char* 阅读全文
posted @ 2017-04-19 17:44 Avatarx 阅读(6377) 评论(0) 推荐(1) 编辑
摘要: 在日常的编程中,有时候需要在结构体中存放一个长度动态的字符串,一般的做法,是在结构体中定义一个指针成员,这个指针成员指向该字符串所在的动态内存空间,例如: [cpp] view plain copy print? typedef struct test { int a; double b; char 阅读全文
posted @ 2017-04-19 16:24 Avatarx 阅读(393) 评论(0) 推荐(0) 编辑
摘要: 有符号数与无符号数之间运算问题以下实验均在virual c++6中运行通过这个问题测试是否懂得C语言中的整数自动转换原则,有些开发者懂得极少这些东西。当表达式中存在有符号类型和无符号类型时所有的操作数都自动转换为无符号类型。因此,从这个意义上讲,无符号数的运算优先级要高于有符号数,这一点对于应当频繁 阅读全文
posted @ 2017-04-19 11:31 Avatarx 阅读(1155) 评论(0) 推荐(0) 编辑
摘要: 1、register修饰符暗示编译程序相应的变量将被频繁地使用,如果可能的话,应将其保存在CPU的寄存器中,以加快其存储速度。例如下面的内存块拷贝代码, /* Procedure for the assignment of structures, */ /* if the C compiler do 阅读全文
posted @ 2017-04-19 10:04 Avatarx 阅读(450) 评论(0) 推荐(0) 编辑
摘要: 一.前言 1.编译器优化介绍: 由于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行,没有相关性的指令可以乱序执行,以充分利用CPU的指令流水线,提高执行速度。以上是硬件级别的优化。再看软 阅读全文
posted @ 2017-04-19 09:59 Avatarx 阅读(210) 评论(0) 推荐(1) 编辑