APUE 之 随书源码的编译与使用, 基本环境搭建
2013-06-16 13:47
525 查看
我的环境是 Ubuntu11.10 发行版.
内核版本是3.0.0
因为 APUE 使用的是 nawk, 而 Ubuntu 自带的是 nawk, 应该是不修改可以直接使用的.
网上也有些方法是要安装 gawk 然后修改 std/linux.mk 将两个 nawk 改为 gawk 来实现的. (要放在 make 之前)
所以, 就要使用如下命令来安装 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/ 所以:
4. vim include/apue.h 增加常量 ARG_MAX,这是 threadctl/getenv1.c 和 threadctl/getenv3.c 要用到的;
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 类型。
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 了.
这个也是可以的. 使用时直接包含头文件就行了. 由于在系统目录下, 无所谓 <> 和 "" 了.
内核版本是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 了.
这个也是可以的. 使用时直接包含头文件就行了. 由于在系统目录下, 无所谓 <> 和 "" 了.
相关文章推荐
- UNIX环境高级编程(第二版)/ APUE 源码编译与使用
- 使用docker搭建android源码编译环境
- 使用IDEA搭建Spark源码环境及编译Spark源码
- 搭建kafka源码开发环境时使用"gradle idea"命令构建源码失败
- micropython源码结构与编译环境搭建
- Android源码编译环境搭建问题及解决方案小结
- 年终福利,PHP7+Apache2.4+MySQL5.6 源码编译安装,环境配置,搭建你自己的LAMP环境
- 基本lnmp平台的搭建(源码编译)
- 在linux使用make编译ArduPilot for Pixhawk/PX4 ArduPilot 编译环境搭建
- Ubuntu 12.04 中android4.0 源码编译环境搭建
- Ubuntu编译源码搭建PHP开发环境
- Ubuntu(Linux)使用Eclipse搭建C/C++编译环境
- Ubuntu使用Eclipse搭建C/C++编译环境
- Ubuntu android源码编译环境搭建
- 【转】Linux(ubuntu14.04)上编译Android4.4源码的环境搭建及编译全过程
- LAMP源码环境搭建与phpmyadmin的使用
- Ubuntu10.04搭建linux-0.11编译环境(1.bochs安装和使用)
- Proto-Gen-Lua 环境搭建编译、安装、使用
- Ubuntu14.04搭建android源码编译环境
- Nutch1.7学习笔记1:基本环境搭建及使用