0%

make是一种自动构建目标文件的工具,最早应用于 C 语言的编译过程,现在也用于 node.js 等工程中。其语法独特而复杂,上手有一定的难度。这篇文章中我会以一个 C++ 工程为例,展示如何编写一个通用的 Makefile 文件。

Makefile 的基本语法是

1
2
TARGETS: DEPENDENCIES
OPERATIONS

每个 Makefile 文件都要指定一个终极目标。make工具会查看这个终极目标的依赖关系,将它分解成多个子目标,然后再自底向上地执行子目标的操作,在完成子目标的基础上实现终极目标。

Read more »

在人工智能中,我们通过效用(utilities)描述智能体在特定状态下采取某种行为的后果。例如,两个智能体A和B对弈,如果经过一系列步骤,A赢了,可以设其行为的效用为1,如果A输了,就设其效用为-1。类似地,我们也可以用效用描述人的感受。例如,一个人喜欢吃冰淇淋,如果通过他的行为,没有得到冰淇淋,就设这个行为的效用是0,如果得到了一个冰淇淋球,就设效用是1,如果得到两个球就设效用是2。一般情况下,我们认为人类是“理性的”,即始终选取效用最大的行为,但事实并非如此。我们来看一个彩票的例子。

Read more »

中文乱码问题

Windows 下的 TeX 开发软件 MiKTeX 并不提供原生的中文支持,所以不能直接使用 MiKTex 编写含有汉字的文档。CTeX 通过向 MikTex 中添加中文格式和字体解决了汉字编排问题。

但有些时候,即使使用 CTeX 编写汉字文档,也会出现乱码并终止编译过程。这个时候就要检查文档的编码格式了。LaTex 源代码可以使用不同的字符编码格式保存。对于简体中文而言,最常见的编码格式有 GBK(GB2312) 和 UTF-8. 只有代码的编码格式和 LaTex 编译器接受的格式一致时,文档才可以正确编译。也就是说,避免出现乱码的方法有两种:

  • 源代码和编译器设定都使用 GBK 编码
  • 源代码和编译器设定都使用 UTF-8 编码
Read more »

有的时候就是会遇到这么奇葩的情况。虽然 git 在版本控制软件中独占鳌头,但学校的老师还是要求使用更加古老的工具,比如在 PhD 圈子中流传很广的 subversion (svn). 我花了几个小时简单学习了 svn, 如果有 git 的基础,掌握 svn 一点儿都不困难。

Read more »

最近一段时间政府加强了对互联网的管控,让不少用 VPN 刷 instagram 的童鞋不开心了。你们的 VPN 估计一时半会儿还连不上,我也不能帮你们上 instagram, 不过我倒是可以让你们在电脑上收 Gmail 刷 Facebook 看 YouTube. 下面隆重推出翻墙神器 VPS!

Read more »

申请、项目、放放松几乎成为了一个学期的全部。

在申请这件事上,我绝对算早早就做好了准备,去年1月一不留神刷出了惊艳的托福成绩,虽没能去美帝交换,但至少为申请铺平了道路。6月的GRE考试更是锦上添花,我想,拿这样的硬件条件去竞争应该没有什么问题了。于是我早早就下定决心,去抢好学校的第一批录取,早拿 offer 早安心。

Read more »

From time to time, my computer is suffered from the problem: network connection is suddenly cut off, and visiting any website will return a page "Chrome Dinosaur", which says unable to connect to the Internet. At the beginning I solved the problem by "Troubleshoot problems" provided by Windows. I observed that each time the diagnose did exactly the same thing:

1
2
3
4
Looking for problems in name resolution
Solving the problem
Reset Wi-Fi adapter
Fixed: Default Gateway Not Available

At the first glance, "default gateway not available" seems to be a problem of router. But our system just reset the Wi-Fi adapter in computer, which indicates that the gateway is the gateway in my computer. Then it is clear that "default gateway not available" is a problem of network configuration.

Just as many computers using LAN and DHCP, I left the network configuration to be automatic, and why configuration error still happens from time to time? It turns out that in some cases windows will turn off the network adapter to save energy, and when the device is down, it is impossible to connect to the Internet.

Solve the problem permanently is fairly easy. Just open Device Manager (in Windows 8 you can use a shortkey Win + x), find your network adapter that brings you to the Internet, right click to look at its properties.

In Power Management panel, uncheck "Allow the computer to turn off this device to save power".

And we are done!

大四,才是真正鉴别一个大学生能力的时候。

从8月以来,我每隔几天就能在朋友圈或者微博上看到重磅的新闻:甲同学成功打入 BAT, 乙同学赴欧洲某地实习交流,丙同学斩获数万元的奖学金,丁同学的论文在 SCI 期刊上发表…… 显然,以后肯定还会有戊同学被斯坦福大学录取,己同学拿到近百万天使投资这种事情。当我每天都生活在一个如此高端的朋友圈的时候,我心中的焦躁和不安也就与日俱增。照现在的架势,未来无非就是:“每个人都成就了一番事业,除了我自己”。

静下心思考一下:我真的不渴望成功,甘心过安稳的生活么?肯定不是的。我投入和精力真的比那些同学们少么?这也不见得。他们的性格和特征相较而言有明显的优势么?或许对于我而言,偏向内向的性格确实带来了一些问题,但这也不应该是主要矛盾。思前想后,我终于找到了我的问题:没有属于自己的,明确的目标。

大学三年半的日子,虽不能说过得浑浑噩噩,但多半也是被别人牵着鼻子走。还记得刚上大一的时候,有人搞建模,有人搞竞赛,专攻一处,最终赚得奖金无数。我呢,不知道是搞建模好,还是搞竞赛好,犹豫了许久,终于错过了时间,还安慰自己说,反正对这个东西也不感兴趣,干脆好好学习。当然最后的结果也是显而易见,一个大学生在没有感受到竞争的残酷之前是很难静心学习的。那时候玩过 DotA, 玩过飞车,玩过文明V,在各种既无营养又无需出行的事物上浪费了太多了时间。现在想想,那些日子过得开心么?未必是开心的,未必是不开心的,甚至记忆都有些模糊了。

Read more »

今天发现了一个很奇特的现象:在项目文件中引用动态链接库(dll)文件时,GCC 类的编译器与 Visual Studio 的做法是不同的。

为了正确链接一个动态链接库文件,GCC 类的编译器需要指定以下参数:

  • 编译器所需的头文件的搜索路径
  • 链接器所需的动态链接库(dll)文件的搜索路径
  • 动态链接库的名字(*.dll)

看上去再正常不过了。但是相比之下,Visual Studio 需要指定的参数有:

  • 编译器所需的头文件的搜索路径(与 GCC 相同)
  • 链接器所需的库(lib)文件的搜索路径
  • 库文件的名字(*.lib)

这里产生了一个问题:我们想要连接 dll 文件,为什么指定的都是 lib 文件呢?

Read more »

昨天是大四学长学姐们领毕业证的日子。

中午时分,看着毕业的学生在校园各处合影,诉说着四年的感受,我就很不是滋味。

这也不能全怪上午的电机太过变态。一个更重要的原因是,作为一个准大四的学生,混到现在,别说有什么一技之长,就连专业都只能靠考前的一两天草草过掉,很难说有什么出息。

屈指算来,这学期真正有价值,值得我去骄傲的事,也只有模式识别的火灾检测大作业了。

Read more »

本人应邀写下了第二篇,应该也是最后一篇关于GRE的文章了,希望能为大家提供帮助。

为什么是第二篇呢?因为之前曾经写过一篇关于备考GRE的文章,大体内容是对备考过程的回忆和一二战的反思,可惜现在拿过来似乎已经过时了。经历了一整年的磨难闯过了这个关口,回过头看看,有不少新的体会,在此简要叙述一番。


这次主要谈谈作文。作文是我一直以来的硬伤,本来去年六一的成绩已经基本够用,但考虑到那个作文成绩实在太难看,于是才有了二战的惨败,以及三战的反击。

总结一下之前考试的教训,作文的问题主要集中在这几个方面:

  • 临场发挥没有思路,不知道写什么
  • 打字太慢,有想法也写不出来
  • 写出来的东西很难看,不符合阅卷人的口味
  • 写一半跑题了

下面讲解如何对症下药逐个击破。

Read more »

本文是我对去年六一考 G 的总结,应一些同学的需要发表出来,希望能让更多的人了解 GRE 考试。方括号中的内容是二战之后增补的。如果大家还有什么问题直接问我即可,欢迎转发和扩散。

Read more »

匆匆地,就这样走过大三第一个学期。大三的这一年,是每个人全力拼搏,为未来换取更多机会的一年。从乡下搬进城里,周遭的环境变化不小,我也一样经历着变革。下面就是这个学期发生的一些点滴,请各位看官笑纳。

Read more »

终于,连被窝的温度也无力阻挡时间的流逝。大学四年的生活,转眼就过去一半了。毋庸置疑,在良乡生活的这两年,尤其是最近的一年,给我留下了许多珍贵的回忆,是应当像高三那年一样,满满地载入人生的纪念册里去的。本文就是我为自己在良乡的生活授予的功勋。不过翻看从前的日志,除了第一学期的懵懂与无知,倒是每个学期都有一些线索可以追寻,为了避免重复,我也不打算从头概述我的大学生活史了,如果需要了解更多,翻看历史记录便是。

Read more »

呵呵,转眼就又过了一个学期。日子多少有些随意,却也是能这样做的最后一个学期了。走过了学期末尾的过渡时期的路线,随着诡雾攻势的全面实施,在下一年会经历很多痛苦的转型。绝大多数想法和计划都要挂起,甚至面临被 ban 和被 kill 的境地,因此有必要回忆和纪念这一个学期做过的神迹二三事,表示我还有年少轻狂的时候,今后看看,或许能唤起未泯的童心。

Read more »