An Introduction to libuv
以下为imnemo关于如何学习uvbook的一些总结补充
- 电脑
mac book pro
- 系统
OS X EI Capitan
版本10.11.6
在code/Makefile
里make all
,可以看到编译时命令是gcc $(CFLAGS) -o $$dir main.c $(UV_LIB) $(LIBS);
$(CFLAGS)变量的值为CFLAGS=-g -Wall -I$(UV_PATH)/include
,会包含UV_PATH即libuv
目录下的include
,这个
在源码目录libuv
下已经有了
$(UV_LIB)变量值为UV_LIB=$(UV_PATH)/.libs/libuv.a
,这是静态库,需要编译下libuv
源码才会生成。
因此,我们先来把libuv
源码编译了。
关于什么是静态库,可以参考linux下的o、a、so、la、lo文件
源码下README文件里,对编译过程和方式写的很详细
两种方式,一种是autotool
,一种是gyp
。gyp
的方式,还可以生成mac下xcode
工程相关文件。
先看autotool
,使用brew安装就好:
brew install automake
brew install libtool
按照readme里介绍的执行就好了:
sh autogen.sh
./configure
make
make check
make install
cd code
make all
文档是.rst
文件,即reStructuredText
,构建工具是sphinx-build
参考官网,当前版本是1.5.1
,install page
可以通过pip
来安装:
pip install -U Sphinx
也可以通过MacPorts
安装:
#If you use Mac OS X MacPorts, use this command to install all necessary software.
sudo port install py27-sphinx
#To set up the executable paths, use the port select command:
$ sudo port select --set python python27
$ sudo port select --set sphinx py27-sphinx
安装MacPorts
的话,参见官网,直接下载对应系统的安装包
导出PDF需要。官网介绍LaTeX
是科学文档的事实标准。
安装参见install
mac下,应该安装的是MacTex。可以选择最小化安装
Makefile
里,可以看出支持生成多种格式的文档,常用的就是html
pdf
epub
运行make ${format}
即可,make help
可以查看更多命令。
打开source/conf.py
,编辑一行配置,其实是去掉这个扩展:
+extensions = ['sphinx.ext.todo', 'sphinx.ext.mathjax', 'sphinx.ext.ifconfig']
-extensions = ['sphinx.ext.todo', 'sphinx.ext.pngmath', 'sphinx.ext.mathjax', 'sphinx.ext.ifconfig']