请教关于tc中头文件的函数的声明

fun1357 2003-08-24 01:12:27
如:stdio.h中的:
int _Cdecl fgetc (FILE *stream);
int _Cdecl fgetpos (FILE *stream, fpos_t *pos);
char *_Cdecl fgets (char *s, int n, FILE *stream);
FILE *_Cdecl fopen (const char *path, const char *mode);
int _Cdecl fprintf (FILE *stream, const char *format, ...);
int _Cdecl fputc (int c, FILE *stream);
等等,这些函数在声明是为什么要在前面加上 _Cdecl ?
...全文
28 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fun1357 2003-08-24
  • 打赏
  • 举报
回复
有没有关于这方面的书给小弟介绍一下
aflyinghorse 2003-08-24
  • 打赏
  • 举报
回复
采用C语言编程的时候,默认使用C/C++语言调用约定。也可以手工指定,这需要在函数声明时加上__cdecl关键字。采用本约定时,参数从右到左入栈,个数可变。由于函数体不能预先知道传进来的参数个数,因此采用本约定时必须由调用函数者负责堆栈清理。由于参数可变,此约定比较灵活,但是性能比较低。生成的代码中函数名有一个_(下划线)做前缀。
fun1357 2003-08-24
  • 打赏
  • 举报
回复
能步能详细一点?
nirvana_ya 2003-08-24
  • 打赏
  • 举报
回复
指明按C的协定调用函数

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧