Alf*_*ong 1 c linux operating-system stdio minix
首先,我在谈论类UNIX系统.
我看一下Mac OS,Linux,Minix和K&R C书中"FILE"结构的定义,它们都是不同的.
在K&R C书中,很清楚
typedef struct _iobuf{
int cnt;
char *ptr;
char *base;
int flag;
int fd;
} FILE;
Run Code Online (Sandbox Code Playgroud)
在Mac OS上,它在结构中有更多东西.
在Linux(3.0)上,它是
typedef _IO_FILE FILE;
Run Code Online (Sandbox Code Playgroud)
标题显示"在C++ iostreams之上定义ISO C stdio".嗯...?(Linux上的C是用C++实现的吗?不应该相反吗?)看起来_IO_FILE定义在libio.h中
在Minix上,定义与K&R非常相似.
我的unstanding是stdio.h应该是C的一部分.第一个C编译器是用汇编语言实现的.并且C应该独立于OS类型.
HW上的机器代码 - > asm - > C - >更复杂的C - > UNIX
现在,在不同的操作系统(各种UNIX)上有不同的stdio.h,编译器都是gcc.
怎么理解这个?
非常感谢,阿尔弗雷德
归档时间: |
|
查看次数: |
508 次 |
最近记录: |