C语言的系统头文件是怎么写成的

ls251544415 2010-11-03 08:08:20
_CRT_NONSTDC_DEPRECATE(_cabs) _CRTIMP double  __cdecl cabs(_In_ struct _complex _X);

如上语句出现在<math.h>中
为什么是这种格式?
CRT_NONSTDC_DEPRECATE(_cabs)
_CRTIMP
__cdecl
以上三个标识符是什么意思?有什么作用?
cabs的的函数体写在哪?
...全文
468 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
freecodeMAN 2010-11-03
  • 打赏
  • 举报
回复
补充点。有些非知识性的需要讨论的问题。CSDN来讨论。
freecodeMAN 2010-11-03
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 greyillusion 的回复:]

其实百度一下就有答案了
[/Quote]

正解。 简单的百度,稍微难点的google。 就省CSDN分儿了。
实在面儿广,难查的,小碎的, 来CSDN发个贴子,然后边查。
greyillusion 2010-11-03
  • 打赏
  • 举报
回复
其实百度一下就有答案了
C4Fun 2010-11-03
  • 打赏
  • 举报
回复
C run time implement “C运行库的实现”的意思。
作为用户代码,不应该使用这个东西。
提示是使用dll的动态 C 运行时库还是静态连接的 C 运行库的一个宏。
#ifndef _CRTIMP
#ifdef _DLL
#define _CRTIMP __declspec(dllimport)
#else /* ndef _DLL */
#define _CRTIMP
#endif /* _DLL */
#endif /* _CRTIMP */
以前有的
zhutianjin4355255 2010-11-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ouyh12345 的回复:]
__cdecl是调用约定
cabs的的函数体应该在lib库里
[/Quote]
正解,一些工具书上都有的
bo_00 2010-11-03
  • 打赏
  • 举报
回复
上网吧

glibc的源代码 都下载下来不就知道了。。
我一般都把 glibc gcc linuxkernel 这三个的源代码都下载下来。(实在想知道的时候,就查查)

glibc:
http://www.gnu.org/software/libc/
http://ftp.gnu.org/gnu/glibc/

libc的话下面这个应该行:
http://www.fefe.de/dietlibc/
ouyh12345 2010-11-03
  • 打赏
  • 举报
回复
__cdecl是调用约定
cabs的的函数体应该在lib库里
dingshaofengbinbin 2010-11-03
  • 打赏
  • 举报
回复
一般这些东西都是一些机器标识,为了增强可移植性或兼容性的,具体的我也不清楚!!待高手啊!!
hongwenjun 2010-11-03
  • 打赏
  • 举报
回复
全大写字母的 一般是宏。
C和C++ 标准库的头文件里 前缀 "_" 是为标准库使用的,为了程序员使用的变量区别。

宏申明,
# define _CRTIMP __attribute__ ((__dllimport__))

GCC中这句 好像是这样的,头文件是生命申明
_CRTIMP double __cdecl _cabs(struct _complex _ComplexA);

_cabs 函数的实现已经编辑在库里,要有编译器的源代码才可以看吧


[Quote=引用楼主 ls251544415 的回复:]
C/C++ code
_CRT_NONSTDC_DEPRECATE(_cabs) _CRTIMP double __cdecl cabs(_In_ struct _complex _X);

如上语句出现在<math.h>中
为什么是这种格式?
CRT_NONSTDC_DEPRECATE(_cabs)
_CRTIMP
__cdecl
以上三个标识符是什么意思?有什么作用?
cab……
[/Quote]

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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