рабочий код для расширенного программирования в среде UNIX 2ed предпочтительно в Ubuntu / gcc4 - PullRequest
4 голосов
/ 01 ноября 2010

Я изучал системное программирование в Linux и прохожу книгу APUE 2ed У. Ричард Стивенс и Стивен А. Раго.

Код, указанный на http://www.apuebook.com/, не работает. Неопределенные определения, не реализованные функции (приведены в приложении)

Может кто-нибудь указать мне на получение скомпилированного кода для APUE 2ed, желательно в Ubuntu / gcc4.

Ответы [ 3 ]

4 голосов
/ 16 февраля 2012

rotkas имеет репозиторий github, который содержит код с модификациями для его компиляции на современных системах.У меня это работало на OSX 10.7 и Ubuntu 10.04.Но в последнее время он не нужен.

https://github.com/roktas/apue2e

2 голосов
/ 08 ноября 2010

Я загрузил исходный код, а затем, в соответствии с файлом README, отредактировал Make.defines.linux и изменил WKDIR, чтобы указать, куда я распаковал исходный код. Затем я запустил make и почти все скомпилировал с несколькими предупреждениями.

threadctl не компилировался, и мне пришлось изменить #include <limits.h> на #include <linux/limits.h> в getenv1.c и getenv3.c до того, как он скомпилируется (не уверен, что это лучшее исправление, но это работает.)

0 голосов
/ 08 апреля 2014

Спасибо, Джинда, за ссылку, которая у меня работала, но мне пришлось сделать что-то еще

Я использовал исходный код из github / roktas и использовал следующую команду для запуска программ

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

если у кого-то есть такая же проблема, перейдите по ссылке по этой ссылке .

...