Skip to content

imnemo/uvbook

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

uvbook

An Introduction to libuv

以下为imnemo关于如何学习uvbook的一些总结补充


学习环境

  1. 电脑 mac book pro
  2. 系统 OS X EI Capitan 版本 10.11.6

编译示例代码

编译libuv源码

code/Makefilemake 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,一种是gypgyp的方式,还可以生成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

安装sphinx-build

参考官网,当前版本是1.5.1install 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的话,参见官网,直接下载对应系统的安装包

安装LaTeX

导出PDF需要。官网介绍LaTeX是科学文档的事实标准。
安装参见install
mac下,应该安装的是MacTex。可以选择最小化安装

编译

Makefile里,可以看出支持生成多种格式的文档,常用的就是html pdf epub 运行make ${format}即可,make help可以查看更多命令。

编译问题

sphinx.ext.mathjax: other math package is already loaded

打开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']

About

An Introduction to libuv

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 93.7%
  • Python 2.1%
  • C++ 1.4%
  • Makefile 0.9%
  • Batchfile 0.7%
  • M4 0.6%
  • Other 0.6%