.h文件中只是函数的声明,而函数的定义在哪呢?

如DOS.H文件中声明了int86函数,那么int86函数的代码在哪呢?没有代码编译器如何编译实现函数功能,没有代码、没有解释我怎么知道这些声明的函数干嘛用的?#if!d... 如DOS.H文件中声明了int86函数,那么int86函数的代码在哪呢?
没有代码编译器如何编译实现函数功能,没有代码、没有解释我怎么知道这些声明的函数干嘛用的?

#if !defined(__DOS_DEF_)
#define __DOS_DEF_
这句是什么意思?什么作用?
展开
 我来答
百度网友a4c22f6
推荐于2016-10-06 · TA获得超过1384个赞
知道小有建树答主
回答量:486
采纳率:0%
帮助的人:288万
展开全部
标准库的代码都是被编译好的库,通过头文件给出定义,让你可以使用,你编译程序的时候,连接器会把库中的代码连接进来。

想知道函数怎么用就要查手册。

后面两句,确切的说是三句是用来避免重复包含的,一般这样写

#ifndef abcde
#define abcde

......//一些定义

#endif

如果你这个文件没被包含过,那么abcde就没有定义,所以编译器会定义个abcde然后看你下面的内容。如果你已经包含过这个文件了,那abcde就有定义了,多次包含的时候,编译器就不会理睬下面的内容了。
百度网友fb85a79
2008-07-31 · TA获得超过2600个赞
知道小有建树答主
回答量:684
采纳率:0%
帮助的人:317万
展开全部
编译好的库是.lib 格式的,但.lib 不是文本格式的,所以你看不到的,到并没有加密。这里面的内容是函数在什么地方找,等等。在window下也是要.lib库的,这样才能定位到dll中。还有,.lib库有两种格式一种是微软的mfc格式,一种是borland的owl格式,两种是不可以互换使用的

#if !defined(__DOS_DEF_)
#define __DOS_DEF_
是宏定义,前者表示如果没有定义__DOS_DEF_
后者表示定义这个,应该还有在一开始有判断是否定义的宏,作用就是为了防止头文件的重复包含
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
oxiaode
2008-07-31 · TA获得超过431个赞
知道小有建树答主
回答量:131
采纳率:0%
帮助的人:136万
展开全部
#if !defined(__DOS_DEF_)
#define __DOS_DEF_
这是为了这个.h文件不被重复包含。这两句分别被放在头文件的开始和结束的地方。

如果是给你的源码,一般来说.h 文件有个对应的.cpp 或 .c 文件。但如果是库函数,你在机器上找不到这个.c的源码,已经被编译成.o了。如果是开源的库,你能在网上下载到源码。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
springfieldx
2008-07-31 · TA获得超过338个赞
知道小有建树答主
回答量:302
采纳率:0%
帮助的人:331万
展开全部
#if !defined(__DOS_DEF_)
#define __DOS_DEF_

这个是宏定义,真正的意思是为了防止重复包含头文件做的标志
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhtlancer
2008-07-31 · 超过17用户采纳过TA的回答
知道答主
回答量:81
采纳率:0%
帮助的人:55.7万
展开全部
在对应的以.C结尾的源代码文件中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式