在 Visual Studio 2013 上编译 Boost 1.56

visual studio 2013 logo

相信做 C++ 开发的同学肯定多多少少都接触过 Boost库(Boost C++ Libraries)。

什么是 Boost库?

Boost 是一组扩充 C++ 功能性的经过同行评审(Peer-reviewed)且开放源代码程序库。大多数的函数为了能够以开放源代码、封闭项目的方式运作,而授权于Boost软件许可协议(Boost Software License)之下。许多Boost的开发人员是来自C++标准委员会,而部份的Boost库成为C++的TR1标准之一。为了要确保库的效率与弹性,Boost广泛的使用模板(template)功能。而它是针对各式领域的C++用户与应用领域(Application Domain)上,包含的库类从像smart_ptr 库这种类通用库,到像是文件系统的操作系统抽象层,甚至能够利用Boost来开发额外的库或是给高级的C++用户利用,像是MPL。

在 Visual Studio 2013 上编译 Boost 1.56

在 Windows 平台上,我们要使用 Boost 需要先编译,使用不同的编译器还需要分别编译。在 Visual Studio 2013 (msvc12) 上编译 Boost 确实不是很容易,特别是对于很少接触到这些拓展库的新手来说。
Continue Reading…

Python 入门篇 – 函数

函数

函数是 重用 的程序段。它们允许你给一块语句一个名称,然后你可以在你的程序的任何地方使用这个名称任意多次地运行这个语句块。这被称为 调用

函数定义

Python中,函数通过def关键字定义。def关键字后跟一个函数的 标识符 ,然后跟一对圆括号。圆括号之中可以包括一些变量名,该行以冒号结尾。接下来是一块语句,它们是函数体。
例子:

输出结果显而易见:

Continue Reading…

Python 入门篇 – 控制流

在我们平时所写的程序中,总有一系列的语句,Python总是忠实的按照它们的顺序执行它们。如果要改变语句流的顺序,我们就要用到控制流。
说控制流可能很陌生,但是如果说具体来说就是if/for/while,你一定倍感亲切!

if

if是条件检验语句, 如果条件为真,我们运行一块语句(称为 if-块 ), 否则我们处理另外一块语句(称为 else-块 )。 else从句是可选的。

上面是一个最简单的有效if语句,注意if语句的结尾处包含一个冒号,我们通过它告诉Python下面跟着一个语句块。我们使用了缩进层次来告诉Python每个语句分别属于哪一个块。这就是为什么缩进在Python如此重要的原因。

上面的例子稍微复杂了点,但是还是很容易理解。
其中,我们用到了elif从句,用来做多条件选择。
elif和else从句都必须在逻辑行结尾处有一个冒号,下面跟着一个相应的语句块,包括正确的缩进。

同时也可以在一个if块中使用另外一个if语句,这被称为嵌套的if语句。

在这里还要注意的一点是:在Python中没有switch语句。但是你可以使用if..elif..else语句来完成同样的工作,或者使用Python中的字典。
Continue Reading…