分类 编程语言 中的文章

LSP和LLVM有感

试想这样一种场景:如果你是一个电话提供商。现在有一个比较贫困的地区,你去那边建立这样一个电话系统。当然,最开始会很少的人愿意安装,毕竟大家都比较穷,能装得起电话的人呢有限。比如只有3个人。这个时候,这三个人需要彼此能够联通。从我们最直观的角度想,我们会怎么去做这个拓扑结构?因为电话原理比较简单,我们最开始会想到的方案可能就是,这三个人彼此连接一条线,3个电话,3条线,就能满足要求了。

……

阅读全文

《C陷阱和缺陷》读书笔记(2)- 语法”陷阱“

词法、语法构成语言的一个基本条件。光有一个个的单词符号是不够的,这些符号的不同组合可以表达不同的含义。 例如,声明是什么,表达式什么,语句是什么,程序是什么等等。

理解函数声明

看看下面一个语句:

1
(*(void(*)())0)();

乍一看到这个语句,肯定当场吓尿!啥鬼玩儿意!

……

阅读全文

《C陷阱和缺陷》读书笔记(2)- 语法”陷阱“

词法、语法构成语言的一个基本条件。光有一个个的单词符号是不够的,这些符号的不同组合可以表达不同的含义。 例如,声明是什么,表达式什么,语句是什么,程序是什么等等。

理解函数声明

看看下面一个语句:

1
(*(void(*)())0)();

乍一看到这个语句,肯定当场吓尿!啥鬼玩儿意!

……

阅读全文

《C陷阱和缺陷》读书笔记(1)- 词法”陷阱“

为了敦促自己读书,特地开了一个读书笔记系列。

自上大学学习了谭浩强版本的《C程序设计》以来,以及经过这么多年遭受的C/C++面试和工作的毒打,就有一个感觉,C/C++语言的设计处处充满了陷阱。编译器设计之复杂,条目细则之多,感觉远远超出了其他语言。掌握了越多的这些”细则“或者”陷阱“,就离大师就更近了一步。而这些大师们,也津津乐道于讲述自己所掌握的这些”陷阱”以彰显自己大师之风范,以在面试中能够用这些“陷阱”困住面试者为骄傲!难怪人们常说,“细节决定成败”!而程序员最需要掌握的更加是一些编程语言、编译器的细节。

……

阅读全文

《C陷阱和缺陷》读书笔记(1)- 词法”陷阱“

为了敦促自己读书,特地开了一个读书笔记系列。

自上大学学习了谭浩强版本的《C程序设计》以来,以及经过这么多年遭受的C/C++面试和工作的毒打,就有一个感觉,C/C++语言的设计处处充满了陷阱。编译器设计之复杂,条目细则之多,感觉远远超出了其他语言。掌握了越多的这些”细则“或者”陷阱“,就离大师就更近了一步。而这些大师们,也津津乐道于讲述自己所掌握的这些”陷阱”以彰显自己大师之风范,以在面试中能够用这些“陷阱”困住面试者为骄傲!难怪人们常说,“细节决定成败”!而程序员最需要掌握的更加是一些编程语言、编译器的细节。

……

阅读全文