4

我正在学习 Linux 系统编程,并且正在阅读 W. Richard Stevens 和 Stephen A. Rago 的 APUE 2ed 书。

http://www.apuebook.com/上给出的代码不起作用。未定义的定义,未实现的函数(在附录中给出)

谁能指出我为 APUE 2ed 编译的代码,最好是在 Ubuntu/gcc4 上。

4

3 回答 3

4

rotkas 有一个 github 存储库,其中包含经过修改以使其在现代系统上编译的代码。它在 OSX 10.7 和 Ubuntu 10.04 上对我有用。不过最近不需要了。

https://github.com/roktas/apue2e

于 2012-02-16T04:33:40.680 回答
2

我下载了源代码,然后根据 README 文件编辑了 Make.defines.linux 并将 WKDIR 更改为指向我解压缩源代码的位置。然后我运行 make 并且几乎所有编译的东西都只有几个警告。

但是,threadctl 没有编译,我必须在 getenv1.c 和 getenv3.c 中更改#include <limits.h>#include <linux/limits.h>才能编译(不确定这是否是最好的修复,但它可以工作。)

于 2010-11-07T23:22:12.187 回答
0

感谢 Jacinda 为我提供的链接,但我也必须做其他事情

我使用来自 github/roktas 的源代码并使用以下命令来运行程序

gcc -o myls myls.c -I SCADDRESS/include/ -L SCADDRESS/lib/ -lapue

如果有人有同样的问题可以去这个链接

于 2014-04-07T23:33:43.777 回答