GitHub 通告:整理了一个 C 和 C++ 开源库的清单(含示例代码)
Published at January 1, 0001 · 1 min read
好几年没聊编程的话题了。这次为啥想到去整理这个捏? 前些年,俺写了一个系列《为啥俺推荐 Python?》,其中一篇《作为瑞士军刀的 Python》介绍了 Python 功能的强大——主要是因为 Python 的开源库非常多,领域非常广。为 …...
GitHub 通告:整理了一个 C 和 C++ 开源库的清单(含示例代码)
Published at January 1, 0001 · 1 min read
好几年没聊编程的话题了。这次为啥想到去整理这个捏? 前些年,俺写了一个系列《为啥俺推荐 Python?》,其中一篇《作为瑞士军刀的 Python》介绍了 Python 功能的强大——主要是因为 Python 的开源库非常多,领域非常广。为 …...
Published at January 1, 0001 · 2 min read
本周,互联网上的一大新闻就是:多个知名网站被脱库,上千万用户资料侧漏。对俺这种长期在安全圈混的人,自然最关心泄漏出来的用户口令啦。这可是活生生的第一手材料啊。今天正好周末,俺就抽空分析了一下 CSDN 和 RenRen 的用户密码。毕竟这两 …...
Published at January 1, 0001 · 2 min read
前几天已经写了2个帖子(分别是扫盲数字证书的基本知识,CNNIC 干过的那些破事)作铺垫,终于开始来说正题——关于 CNNIC 的 CA 证书。 从前面的帖子,大伙应该都看出来,CNNIC 这个老流氓可是坏事做尽啊。最近这段时 …...
Published at January 1, 0001 · 1 min read
上一个帖子给大伙儿扫盲了数字证书的基本知识。今天再来说一下 CNNIC 有多坏,曾经搞过哪些龌龊、猥琐的事情。 本文的主要目的,就是给 CNNIC 抹黑。这样,大伙才有动力去清除电脑中的 CNNIC 的 CA 证书(至于如何清除 CNNIC …...
C/C++ 中一个简单的 enum 手法(idiom)
Published at January 1, 0001 · 1 min read
今天写程序的时候,又用到这个 idiom 了,于是顺便贴出来。这个 idiom 蛮简单的,估计很多人都用过。今天主要是贴出来给新手参考(老手们就甭费时看此帖了)。 为了说明这个手法具体该咋用,咱举一个简单的例子来说事儿。比方说要开发一个网络 …...
Published at January 1, 0001 · 1 min read
最近一个多月写的帖子比较杂,导致本系列又好久没更新了。结果又有网友在评论中催我了,搞得我有点囧。今天赶紧把多线程篇补上。上次聊操作系统的时候,由于和 OS 有关的话题比较琐碎,杂七杂八说了一大堆。当时一看篇幅有点长,就把多进程和多线程的部分 …...
C++ 的可移植性和跨平台开发[5]:操作系统
Published at January 1, 0001 · 1 min read
上一个帖子提到了“硬件体系”相关的话题,今天来说说和操作系统相关的话题。 为了打字省力,以下把 Linux 和各种 Unix 都统称为 Posix 系统。 刚开始搞跨平台开发的新手,多半都会碰上和 FS 相关的问题。所以先来聊一下 FS。 …...
C++ 的可移植性和跨平台开发[4]:硬件体系
Published at January 1, 0001 · 1 min read
这次聊的话题主要是和硬件体系有关的。比如你的程序需要支持不同类型的 CPU(x86、SPARC、PowerPC),或者是同种类型不同字长的 CPU(比如 x86、amd64),这时候你就需要关心一下硬件体系的问题。 C++ 中基本类型的大 …...
C++ 的可移植性和跨平台开发[3]:异常处理
Published at January 1, 0001 · 1 min read
上一个帖子“语法”由于篇幅有限,没来得及聊异常,现在把和异常相关的部分单独拿出来说一下。 早期的老式编译器生成的代码,如果 new 失败会返回空指针。俺当年用的 Borland C++ 3.1 似乎就是这样的。如今这种编译器应该不多见了,万 …...
Published at January 1, 0001 · 2 min read
目前还有相当一部分开发人员在使用老式编译器干活,这些老式编译器可能对C++98支持不够。因此,当你的代码移植到这些老式的编译器上时,可能会碰到一些稀奇古怪的问题(包括编译出错和运行时错误)。下面这些注意事项有助于你绕过这些问题。 强调一下, …...