当前位置:  技术问答>linux和unix

关于apue.h头文件使用问题

    来源: 互联网  发布时间:2017-03-25

    本文导语:      在VM虚拟机上安装了Linux,但是在Linux下却无法编译《Unix环境高级编程》中的例子,错误提示是没有apue.h头文件。 上网把问题搜索了下,发现提供的解决方法,貌似Linux都不是安装在VM虚拟机的! 希望有此问题经...

    在VM虚拟机上安装了Linux,但是在Linux下却无法编译《Unix环境高级编程》中的例子,错误提示是没有apue.h头文件。

上网把问题搜索了下,发现提供的解决方法,貌似Linux都不是安装在VM虚拟机的!

希望有此问题经验的高人能解答下!

谢谢了!

|
你不能只复制头文件进去! 那些头文件里只是定义了很多函数而已 根本没有实现。实现的代码在别的文件里,你把附录的源码都复制到你的linux里去。
在发一次这个连接http://www.cnblogs.com/cnhome/archive/2010/03/30/1701024.html

|
apue.h不是标准库头文件,
它应该是作者自己写的,是为了方便代码共享,减少重复代码数。
这个头文件网上搜索应该是可以下的到的。

|
apue英文版第3版的附录B就是apue.h

对于中文版,应该也能在附录中找到

|
自己去网上搜一下把附录的代码下载下来!
具体参照http://www.cnblogs.com/cnhome/archive/2010/03/30/1701024.html

|
在Linux系统中 vi apue.h 
然后把附录中的内容贴上去..

|

vm直接就可以把windows的文件共享到linux里!!!
自己点点vm的菜单你就会发现  
http://wenku.baidu.com/view/02a427b765ce0508763213d8.html

要说道方法 简直太多了
ftp
sftp
scp
samba
安装vm tools 然后直接把文件拖拽到虚拟机窗口里
U盘
......

|
英文版第二版:1194页:

/* Our own header, to be included before all standard system headers */
#ifndef _APUE_H
#define _APUE_H
#define _XOPEN_SOURCE   600  /* Single UNIX Specification, Version 3 */
#include        /* some systems still require this */
#include 
#include      /* for winsize */
#ifndef TIOCGWINSZ
#include 
#endif
#include      /* for convenience */
#include     /* for convenience */
#include     /* for offsetof */
#include     /* for convenience */
#include     /* for convenience */
#include     /* for SIG_ERR */
#define MAXLINE 4096               /* max line length */
/*
 * Default file access permissions for new files.
 */
#define FILE_MODE   (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)
/*
 * Default permissions for new directories.
*/
#define DIR_MODE    (FILE_MODE | S_IXUSR | S_IXGRP | S_IXOTH)
typedef void   Sigfunc(int);   /* for signal handlers */
#if defined(SIG_IGN) && !defined(SIG_ERR)
#define SIG_ERR ((Sigfunc *)-1)
#endif
#define min(a,b)     ((a)  (b) ? (a) : (b))
/*
 * Prototypes for our own functions.
 */
char    *path_alloc(int *);              /* Figure 2.15 */
long     open_max(void);                 /* Figure 2.16 */
void     clr_fl(int, int);               /* Figure 3.11 */
void     set_fl(int, int);               /* Figure 3.11 */
void     pr_exit(int);                   /* Figure 8.5 */
void     pr_mask(const char *);          /* Figure 10.14 */
Sigfunc *signal_intr(int, Sigfunc *);    /* Figure 10.19 */
int      tty_cbreak(int);                /* Figure 18.20 */
int      tty_raw(int);                   /* Figure 18.20 */
int      tty_reset(int);                 /* Figure 18.20 */
void     tty_atexit(void);               /* Figure 18.20 */
#ifdef  ECHO    /* only if   has been included */
struct termios  *tty_termios(void);      /* Figure 18.20 */
#endif
void     sleep_us(unsigned int);             /* Exercise 14.6 */
ssize_t  readn(int, void *, size_t);         /* Figure 14.29 */
ssize_t  writen(int, const void *, size_t);  /* Figure 14.29 */
void     daemonize(const char *);            /* Figure 13.1 */
int      s_pipe(int *);                 /* Figures 17.6 and 17.13 */
int      recv_fd(int, ssize_t (*func)(int,
                 const void *, size_t));/* Figures 17.21 and 17.23 */
int      send_fd(int, int);             /* Figures 17.20 and 17.22 */
int      send_err(int, int,
                  const char *);        /* Figure 17.19 */
int      serv_listen(const char *);     /* Figures 17.10 and 17.15 */
int      serv_accept(int, uid_t *);     /* Figures 17.11 and 17.16 */
int      cli_conn(const char *);        /* Figures 17.12 and 17.17 */
int      buf_args(char *, int (*func)(int,
                  char **));            /* Figure 17.32 */
int      ptym_open(char *, int);    /* Figures 19.8, 19.9, and 19.10 */
int      ptys_open(char *);         /* Figures 19.8, 19.9, and 19.10 */
#ifdef  TIOCGWINSZ
pid_t    pty_fork(int *, char *, int, const struct termios *,
                  const struct winsize *);      /* Figure 19.11 */
#endif
int     lock_reg(int, int, int, off_t, int, off_t); /* Figure 14.5 */
#define read_lock(fd, offset, whence, len) 
            lock_reg((fd), F_SETLK, F_RDLCK, (offset), (whence), (len))
#define readw_lock(fd, offset, whence, len) 
            lock_reg((fd), F_SETLKW, F_RDLCK, (offset), (whence), (len))
#define write_lock(fd, offset, whence, len) 
            lock_reg((fd), F_SETLK, F_WRLCK, (offset), (whence), (len))
#define writew_lock(fd, offset, whence, len) 
            lock_reg((fd), F_SETLKW, F_WRLCK, (offset), (whence), (len))
#define un_lock(fd, offset, whence, len) 
            lock_reg((fd), F_SETLK, F_UNLCK, (offset), (whence), (len))
pid_t   lock_test(int, int, off_t, int, off_t);     /* Figure 14.6 */
#define is_read_lockable(fd, offset, whence, len) 
            (lock_test((fd), F_RDLCK, (offset), (whence), (len)) == 0)
#define is_write_lockable(fd, offset, whence, len) 
            (lock_test((fd), F_WRLCK, (offset), (whence), (len)) == 0)
void    err_dump(const char *, ...);        /* Appendix B */
void    err_msg(const char *, ...);
void    err_quit(const char *, ...);
void    err_exit(int, const char *, ...);
void    err_ret(const char *, ...);
void    err_sys(const char *, ...);
void    log_msg(const char *, ...);         /* Appendix B */
void    log_open(const char *, int, int);
void    log_quit(const char *, ...);
void    log_ret(const char *, ...);
void    log_sys(const char *, ...);
void    TELL_WAIT(void);        /* parent/child from Section 8.9 */
void    TELL_PARENT(pid_t);
void    TELL_CHILD(pid_t);
void    WAIT_PARENT(void);
void    WAIT_CHILD(void);
#endif  /* _APUE_H */


|
看看apue.h的内容,自己手工加一个.

|
把目录的代码自己朝下来写一个

|
开启ssh服务,用sftp传上去就行了

|
jf

这个问题说明没有认真看书

|
在附录B中找找err_quit err_sys的实现代码

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • apue.h的问题
  • apue中的一个问题
  • APUE中 system函数的实现中的问题
  • APUE中“信号”一节的问题
  • apue学习问题 第八章 进程控制 相关
  • 关于unix环境高级编程的apue的问题
  • apue中父子进程同步的问题。
  • <APUE>中的一个问题
  • linux管道参数传递的问题-APUE上的例子中的疑问
  • 关于APUE信号自我阻塞的问题
  • 新看APUE,关于进程方面的问题,求大家指教...
  • 读unix 经典著作 apue 中文版本,这里翻译是否有问题 ,还是我理解有误?
  • 下载了APUE源码,怎么打不开啊?
  • APUE第2版的例2-1的疑问
  • apue书上的概念,读过这本书的请进
  • 刚学完apue,大家给个建议
  • 求apue的课后答案~~~~~~~~~~~~~
  • APUE 看完之后,拿什么练练手?
  • APUE+macro
  • 关于apue上的一段代码 iis7站长之家
  • 关于apue2 中一个例子的提问
  • apue书的的信号函数,看不懂
  • 哪位兄弟在看apue?相互交流一下
  • apue 上的 Figure3.10运行后,输出怎么是空白
  • apue page113
  • 不同缓冲区长度读操作 APUE2e
  • APUE2 10.12小节中所给的Figure 10.14程序是不是错了?
  • APUE 第二版 程序 5-2
  • 问一下《APUE》这本书是否适合linux开发 ?
  • 关于apue上的一段代码
  • apue上讲的 FIFOs


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3