跟着 clang 的 libcxx 学习二分查找

哪个算法简单到初学编程的人都能轻松实现,但有多年编程经验的人也可能会写出严重的 bug 呢?没错,正是二分查找。既然普通人的二分查找容易写错,那专业人士会如何实现二分查找呢?不妨参考一下 clang 7.0 的实现。 lower_bound 在 STL 的定义 给定有序区间 [first, last… ...more

October 26, 2018
用 distcc 加快编译 续篇-clang

上一篇文章 简单介绍了使用 distcc 编译 wine 代码。有人在朋友圈里问我,能不能用 clang 编译。我当时的回答是,为什么不能呢?这周在摸鱼的时候,我完成了测试。 理论分析 我看了一下 distcc 的代码,发现其机制还是比较简单的。distcc 后的一个参数会被当成编译器名称。理论上,… ...more

September 15, 2018
用 distcc 加快编译

我的卧室迎来了新成员 - 拥有双 Xeon E5649 的工作站。在安顿好后,我就第一时间开始研究用 distcc 来加快编译速度了。毕竟,与其让我的 XPS 15 被折磨,不如把这个工作交给局域网内的工作站。官网提供了一份 60-second instructions ,不妨一试。如果你是在60秒… ...more

September 10, 2018
用牛刀 LaTeX 完成简单的排版任务

假期里,我们被布置了一篇报告作为作业。排版要求如下: 正文为宋体、小四号、1.25倍行距。标题号第一层用一、二……第二层用1、2……第三层用(1)、(2)……。 同时,我们的报告要求写在特定纸张上。换句话说,是要用特定的页眉页脚。如图: 在布置作业时,我们也得到了一个Word 模板。刚刚读完 《… ...more

September 20, 2015
从 OI 到世界

又到了一年的高考季,而我,当年泡在机房里的高中生,已经毕业了两年。在参加 OI 比赛时,侧重点都在算法上,因而忽视了很多 C 语言的特性。在刚参与开源项目时,也多走了不少弯路。所以,我整理了一个小小的列表,希望这些问题能对你起到些许帮助。 预处理 预处理的潜在风险 C 语言中,预处理与编译是独立的阶… ...more

June 07, 2015
Qt5 中使用 log4qt 输出日志

最近在写一个 QT 的程序,需要打印日志。搜索了一下,选定了 Log4Qt。不过,原项目已经长期不更新了,而 DevBean 维护了一个 Qt5 的版本。所以,我执行了 git submodule add https://github.com/devbean/log4qt.git 。在我撰写本文时(… ...more

February 20, 2015
如何教人编程

这学期头脑发热,辅导了两个人编程(第一个 Python,第二个 C++),真的是很难忘的经历。 学习编程是一件有挑战的事情。相比之下,教一个人编程更加困难。第一个障碍,就是思维方式的改变(针对大学生而言)。 有了高中的经历,学习者很希望能得到一个 “知识体系”,一个树状的知识结构图,就像这样 (原… ...more

February 07, 2014