|
发表于 2007-2-26 11:50:13
|
显示全部楼层
Post by iso
C程序设计语言第二版8.2例子
- #include "syscalls.h"
- int main() /* copy input to output */
- {
- char buf[BUFSIZ];
- int n;
-
- while ((n = read(0, buf, BUFSIZ)) > 0)
- write(1, buf, n);
- return 0;
- }
复制代码
编译出错: syscalls.h: 没有那个文件或目录
/usr/include中没有syscalls.h
/usr/src/kernels/2.6.9-42.0.3.EL-smp-i686/include/linux/到有一个
请问如何解决?
thanks!
man 2 write看了一下,要#include <unistd.h>
就用
#include <stdio.h>
#include <unistd.h>
替换#include "syscalls.h"竟然能行!
没看这本书,内核头文件最好不要和应用程序头文件混着用。本来就应该包含unistd.h,没什么奇怪的。 |
|