您的位置:首页 > 产品设计 > UI/UE

APUE 之 随书源码的编译与使用, 基本环境搭建

2013-06-16 13:47 525 查看
我的环境是 Ubuntu11.10 发行版.

内核版本是3.0.0

因为 APUE 使用的是 nawk, 而 Ubuntu 自带的是 nawk, 应该是不修改可以直接使用的.

网上也有些方法是要安装 gawk 然后修改 std/linux.mk 将两个 nawk 改为 gawk 来实现的. (要放在 make 之前)

所以, 就要使用如下命令来安装 gawk 了:

sudo apt-get install gawk


然后............

1.到 www.apuebook.com 去下载源代码.

2. tar 解包 cd apue.2e 图形界面右键 Open with Archibe Manager 然后 Extrat.

3.vim Make.defines.linux 修改变量WKDIR,指向 apue 源码所在位置, 我的在 /home/think/apue/apue.2e/ 所以:

WKDIR= /home/think/apue/apue.2e/


4. vim include/apue.h 增加常量 ARG_MAX,这是 threadctl/getenv1.c 和 threadctl/getenv3.c 要用到的;

4096 是参考值,如果有问题,自行修改。

#define ARG_MAX 4096


5.vim threadctl/getenv1.c 增加 #include "apue.h"

6.vim threadctl/getenv3.c 增加 #include "apue.h"

7.vim threads/badexit2.c 修改第31行,将 pthread_self() 的返回值转换为 int 类型。

printf("thread 2: ID is %d\n", (int)pthread_self()); /* 注意, 注释符号不要使用 '//' 格式 */


8. make

9. sudo cp include/apue.h /usr/include/

sudo cp lib/libapue.a /usr/lib

测试一下,用-lapue命令让编译器链接apue库.

gcc main.c -lapue

通过......

还有一种方法就是:

将 apue.h 和 error.c 复制到 /usr/include/ 目录下.

然后再将 apue.h 最后一行的 #endif 前面添加 #include "error.c" 就 OK 了.

这个也是可以的. 使用时直接包含头文件就行了. 由于在系统目录下, 无所谓 <> 和 "" 了.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: