关闭

printf内幕----编程内幕(1)

printf内部究竟做了什么?...
阅读(177) 评论(0)

c语言,有时莫名,有时奇妙----小话c语言(25)

作者:陈曦 日期:2012-8-17 12:53:12 环境:[Mac 10.7.1 Lion Intel i3 支持64位指令 gcc4.2.1 xcode4.2]   转载请注明出处 Q1: 为什么下面的输出不按照代码的顺序显示?#include #include int main(int argc, char **argv) { while(1)...
阅读(2460) 评论(6)

windows平台的多线程同步互斥:从内核源码分析----小话多线程(3)

作者:陈曦 日期:2012-8-16 13:05:34 环境:[win7 32位操作系统  Intel i3 支持64位指令   VS2010;   wrk-v1.2 ;   Source Insight]   转载请注明出处 Q1: 举个windows平台简单的线程例子吧。 A: 如下,保存为thread_test.c: #include #inclu...
阅读(3193) 评论(0)

线程问题的核心: 怎么退出线程才是合适的----小话多线程(2)

作者:陈曦 日期:2012-8-5  16:13:36 环境:[Mac 10.7.1 Lion Intel i3 支持64位指令 gcc4.2.1 xcode4.2 苹果开源代码Libc-763.11]  转载请注明出处 每日总结:优秀的架构都是类似的,垃圾的架构一般都是一个原因:代码内部原理掌握得不够 Q1: main函数中最后用return 0; 和使用 exit(...
阅读(10764) 评论(15)

看看多线程,其实没那么可怕----小话多线程(1)

作者:陈曦 日期:2012-8-2 9:55:28  环境:[Mac 10.7.1 Lion Intel i3 支持64位指令 gcc4.2.1 xcode4.2] 转载请注明出处 Q1: 对于主线程,创建一个子线程,如何传参数给它? A: 对于pthread线程接口,线程函数参数就满足了这个要求。如下代码: #include #include #defin...
阅读(4006) 评论(1)

预处理,它有时很神奇----小话c语言(24)

作者:陈曦 日期:2012-7-28  18:19:55 环境:[Mac 10.7.1 Lion Intel i3 支持64位指令 gcc4.2.1 xcode4.2]   转载请注明出处 Q1: 宏这个东西真是很奇怪,为什么我想将一句#include代码用宏来替换,却不行? #define INCLUDE_STDIO #include INCLUDE_...
阅读(2693) 评论(1)

可变参数, 它依赖于堆栈----小话c语言(23)

作者:陈曦 日期:2012-7-28 12:20:17  环境:[Mac 10.7.1 Lion Intel i3 支持64位指令 gcc4.2.1 xcode4.2]   转载请注明出处 Q1: 可变参数的函数调用能够被正确执行的本质原因是什么? A: 可变参数的一个重要特点就是参数个数不确定,但是最终可以被正确执行一般需要堆栈以及参数类型的确定性支持。如果参数类型都无法确定是...
阅读(5117) 评论(7)

写脚本不熟练的程序员不是好程序员----小话python(1)

作者:陈曦 日期:2012-6-30 11:18:06  环境:[Mac 10.7.1 Lion Intel-based i3,支持64位指令  Python 2.7.1  gcc4.2.1]  转载请注明出处 Q1: 脚本的本质是什么? A: 它就是一段代码,只不过让对应的解释器执行即可;和它相对应的是编译型代码,需要编译成可执行文件或者目标文件,在指定平台上运行或者使用。...
阅读(33406) 评论(51)

可执行文件内部的秘密----小话c语言(22)

作者:陈曦 日期:2012-6-23   14:24:27 环境:[Mac 10.7.1 Lion Intel i3 支持64位指令 gcc4.2.1 xcode4.2]   转载请注明出处 Q1: 编译生成的可执行文件内部是如何被执行的? A: 当然,首先需要知道它的结构。先编写一个简单的程序,保存为testForC.c: #include #include #...
阅读(3721) 评论(0)

windows创建进程的用户态和内核态交互----小话windows(1)

作者:陈曦 日期:2012-6-19 12:28:30 环境:[win7旗舰版 SP1  ; Intel i3  x86, 支持64位  ;vs2010  ; wrk-v1.2  ; Virtual PC 2007   windows 2003 server sp1 standard edition镜像 ;WinDbg 6.11.0001.404(x86) ]  转载请注明出处...
阅读(5590) 评论(1)

词法分析,让状态机旋转地更猛烈些吧----小话c语言(21)

作者:陈曦 日期:2012-6-16 10:21:31  环境:[Mac 10.7.1 Lion Intel-based x64 gcc4.2.1 xcode4.2] 转载请注明出处 Q: 对于编译过程的词法分析,到底应该使用什么方式? A: 可以肯定的是,必然要对需要处理的数据挨个字符判断,然后在恰当的位置截断,得到一个个的token. Q: 为什么得挨个字符都判断...
阅读(6586) 评论(7)

要理解解释器,做一个小解释器----小话c语言(20)

作者:陈曦 日期:2012-6-12   11:31:12 环境:[Mac 10.7.1  Lion  Intel-based  x64  gcc4.2.1  xcode4.2]   转载请注明出处 Q: 解释器来源于什么? A: 如果说是广义的解释器,那么可以把它理解成翻译器,只要能将一种被看成原始的东西翻译成需要的东西,处理的东西就可以被称为解释器。从编程语言角度,解释器更多...
阅读(6500) 评论(11)

汇编和c只有一步之近----小话c语言(19)

作者:陈曦 日期:2012-6-8 10:50:13 环境:[Ubuntu 11.04  Intel-based x64 gcc4.5.2  CodeBlocks10.05  AT&T汇编  Intel汇编]  转载请注明出处 Q: 举个例子吧。 A: 下面的代码的目标是计算1+2的值,最后放到变量temp中,并输出: #include #include #define...
阅读(15226) 评论(17)

写模板string类, 认识STL的模块分离策略----小话c++(7)

作者:陈曦 日期:2012-6-6 17:01:10 环境:[Mac  10.7.1  Lion  Intel-based  x64  gcc4.2.1  xcode4.2] 转载请注明出处 Q: 我们需要写什么样的string类。 A: 首先做个简单的需求分析。我们需要编写一个可以以char 为单位的字符串以及以wchar_t为单位的字符串类。同时,它需要能完成比较操作。自然,...
阅读(2882) 评论(1)

new内部在做些什么----小话c++(6)

[Mac  10.7.1  Lion Intel-based  x64  gcc4.2.1  xcode4.2] Q: new操作符构造一个对象,它内部究竟调用了什么? A: 如下代码: #include using namespace std; #define COUT_ENDL(str) std::cout << #str << " is " << (str) <<...
阅读(2492) 评论(0)

c库(下)----小话c语言(18)

[Mac  10.7.1  Lion  Intel-based  x64  gcc4.2.1  xcode4.2  ] Q: 如何解决abs函数传入一个整形数最小值返回溢出的数? #include #include #include #include #define PRINT_D(intValue) printf(#intValue" is %d\n", (in...
阅读(2211) 评论(1)

类内部存储的东西:太简洁了----小话c++(5)

[Mac 10.7.1  Lion  Intel-based  x64  gcc4.2.1  xcode4.2] 想知道一个类内部是什么,没有比知道它存储的数据还更直接的了。 Q: 为什么一个不包含任何成员变量的类的大小不是0? 如下代码: #include using namespace std; #define COUT_ENDL(str) std::co...
阅读(8370) 评论(17)

从小函数和小类看大设计----小话c++(4)

[Mac 10.7.1  Lion  Intel-based  x64  gcc4.2.1  xcode4.2] 大道理大家都会说,因为书上到处都会写。 不喜欢讲大道理,道理自在真实的事实中。 Q: 如果需要提供一个计算两个元素较大值的模块,该提供什么样的代码? A: 当然,不能轻易将元素认为是整形,这样可能导致很多时候无法使用。既然如此,模板成为一种很好地选择。...
阅读(1658) 评论(1)

不喜欢用const的程序员不是好程序员----小话c++(3)

[Mac 10.7.1  Lion  Intel-based  x64  gcc4.2.1  xcode4.2] Q: c语言中的const和c++中的const关键字的含义是一样的吗? A: 不尽相同; c语言中const修饰的变量是不可更改的变量,它的核心还是变量;但是c++中const修饰的就是一个常量。比如,在c语言中使用const修饰的一个变量就不可以作为不可变长数组的元素个...
阅读(3442) 评论(5)

输入输出流,看似复杂却更好用----小话c++(2)

[Mac 10.7.1  Lion  Intel-based  x64  gcc4.2.1  xcode4.2] Q: c++的默认输入输出和c的有什么优缺点? A: 任何一种语言都会有自身最推荐的一套模式,因为设计者可能已经很认真考虑了。没有必要说哪种最好,哪种很差,最好和很差都有条件限制的。不同的使用者总能找到一种最适合自身的方式。     c++的输入输出更面向对象化和模块化,...
阅读(2215) 评论(4)
42条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:343722次
    • 积分:6039
    • 等级:
    • 排名:第4600名
    • 原创:42篇
    • 转载:0篇
    • 译文:0篇
    • 评论:213条
    博客专栏