搜索
首页 电脑/网络 程序设计 C/C++

问几个关于头文件代码问题

  想请问在stdio
  h中 函数调用前都有 _Cdecl 或前面有*这个是什么意思,平常在c语言里也可以这么用吗?另外#define stdin (&_streams[0])一句 的上句extern FILE _Cdecl _streams[]; 这个应该是文件的结构体数组吧,前面也加了_cdecl_ ,那么为什么基本输出 stdin 是 streams[0]地址呢;#define SEEK_CUR 1 这个是fseek参数的说明,为什么是放在头文件定义而不是放在函数原型,在TC下有文件可以看函数源代码吗;#define _F_RDWR 0x0003 /* Read/write flag */等说的是file中flag的状态吧 ;请帮忙解答这些问题 ,谢谢.。

全部回答

2006-09-25

0 0
    关于#define SEEK_CUR 1 在调用fseek时,使用如下格式 fseek(n,SEEK_CUR);//具体函数参数的顺序忘记了,就假设是这样吧。 当展开宏后函数成为了 fseek(n,1); 这样仅消耗编译时间,就使得代码在可读性和性能上都得到了优化。
    试想,你要将这个值定义在函数内,那么你准备传入什么样的参数?你希望调用参数时使用 fseek(n,"SEEK_CUR"); 这样的形式吗?还是象 fseek(n,1); 这种不直观的形式? 反正我想不出比定义一个宏更好的方法。
  而且定义宏是几乎所有头文件采用的方式。   对于DLL中的函数,除了反汇编,一般没有其他方法看函数代码。 #define _F_RDWR 0x0003 /*。。
  。*/ 仅仅告诉你这是一个 读/写 标志。 STDIO就没有深究的必要了——除非你准备写自己的操作系统。 cdecl这个,你可以参考MSDN中的解释。  这只是一个调用约定。
  至于函数名前带*的,说明该函数返回一个指针。

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
C/C++
硬件
电脑装机
程序设计
互联网
操作系统/系统故障
笔记本电脑
反病毒
百度
软件
程序设计
C/C++
VB
数据库
汇编语言
JAVA相关
VC++
C#/.NET
其他编程语言
C/C++
C/C++
举报
举报原因(必选):
取消确定举报