我正在学习Linux系统编程,我正在阅读APUE 2的书 W. Richard Stevens和Stephen A. Rago。
http://www.apuebook.com/上给出的代码不起作用。未定义的定义,未实现的功能(在附录中给出)
有人能指出我为APUE 2ed编译代码,最好是在Ubuntu / gcc4上。
答案 0 :(得分:4)
rotkas有一个github repo,其中包含修改代码,使其在现代系统上进行编译。它在OSX 10.7和Ubuntu 10.04上对我有用。但是最近没有需要它。
答案 1 :(得分:2)
我下载了源代码,然后根据README文件编辑了Make.defines.linux并将WKDIR更改为指向我解压缩源代码的位置。然后我运行make,几乎所有编译的东西只有几个警告。
但是, threadctl没有编译,我必须在getenv1.c和getenv3.c中将#include <limits.h>
更改为#include <linux/limits.h>
才能编译(不确定这是否是最好的修复,但是它有效。)
答案 2 :(得分:0)
感谢Jacinda为我提供的链接,但我也必须做其他事情
我使用了github / roktas的源代码并使用以下命令来运行程序
gcc -o myls myls.c -I SCADDRESS/include/ -L SCADDRESS/lib/ -lapue
如果有人遇到同样的问题,可以转到this link。