|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 关于include指令的问题
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
539
人关注过本帖
标题:
关于include指令的问题
只看楼主
加入收藏
小旭哥
等 级:
论坛游民
帖 子:106
专家分:72
注 册:2012-11-4
结帖率:
86.21%
楼主
收藏
已结贴
√
问题点数:5 回复次数:9
关于include指令的问题
当用include指令将某一个头文件包含到源文件中后,编译程序的时候,头文件中所有的函数原型所对应的函数实现是不是都要被编译?这不是加大了编译时间么?能不能编译器只编译我所调用的函数呢? 谢谢,如果什么概念我没弄懂,请指点,真心求教。谢谢
搜索更多相关主题的帖子:
概念
include
编译器
源文件
2012-11-04 11:08
举报帖子
使用道具
赠送鲜花
zklhp
来 自:china
等 级:
贵宾
威 望:
254
帖 子:11485
专家分:33241
注 册:2007-7-10
第
2
楼
收藏
得分:1
现在的编译器都是只编译需要的罢 不信你多引用几个头文件试试
而且 就算是都编译 实际用时也不会太大 C总的来说还是比较小型的东西
2012-11-04 11:27
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
3
楼
收藏
得分:1
是用到才链接的。对旧式联编为一体文件的程序来说,会把所有用到的函数都包装在一起,新式的使用运行时库,是不需要链接那些函数的。实际链接的函数,并非你在源代码中写上#include的那几个,你不知道#include之中又#include了多少,一个库函数内部到底调用了多少另外的库函数,也是不清楚的。不过,一般不需要担心这个问题,没意义,因为如果你的程序真需要那么多复杂的代码,它必然应该庞大,没那么复杂,自然会小。
授人以渔,不授人以鱼。
2012-11-04 11:35
举报帖子
使用道具
赠送鲜花
yaobao
等 级:
蒙面侠
威 望:
4
帖 子:1854
专家分:4121
注 册:2012-10-25
第
4
楼
收藏
得分:1
长知识了
认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-04 12:27
举报帖子
使用道具
赠送鲜花
小旭哥
等 级:
论坛游民
帖 子:106
专家分:72
注 册:2012-11-4
第
5
楼
收藏
得分:0
回复 3楼 TonyDeng
有点 超出我的知识范围了。。。。。。
2012-11-04 12:36
举报帖子
使用道具
赠送鲜花
小旭哥
等 级:
论坛游民
帖 子:106
专家分:72
注 册:2012-11-4
第
6
楼
收藏
得分:0
回复 3楼 TonyDeng
刚才对你所谈到到的库概念了解了下,能再问几个问题么?
1.如果是静态链接库,则库文件中所包含的函数可执行代码是不是都是机器语言?
2.如果是动态链接库,则库文件中所包含的函数可执行代码是不是都是机器语言?
3.现在的VC中的C库函数,是不是都是采用的动态链接?因为我发现现在的源文件中都没有#pragma comment...指令。
问题可能有点多了,麻烦了。谢了
2012-11-04 13:55
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
7
楼
收藏
得分:0
现在的VC,都使用动态库的,总是附带msvc*.dll运行库一起发行。你安装软件,会发现系统中被置入了这些库文件,而且VC的版本不同,这些文件的名字也不同。无论是.EXE和.DLL,本质上是一样的可执行文件,一般是由机器语言构成的(也可含有数据、资源,不全是机器码)。
授人以渔,不授人以鱼。
2012-11-04 14:23
举报帖子
使用道具
赠送鲜花
xiaowu88910
等 级:
新手上路
帖 子:13
专家分:9
注 册:2012-10-27
第
8
楼
收藏
得分:1
#include 预处理,编译的时候只是将预处理的东西告知环境,不做其他内存分配,编译等等的活,相当于给了一个链接,后面编译的时候VC环境会根据自己需要去找到对应包含的函数编译
2012-11-04 14:31
举报帖子
使用道具
赠送鲜花
小旭哥
等 级:
论坛游民
帖 子:106
专家分:72
注 册:2012-11-4
第
9
楼
收藏
得分:0
回复 7楼 TonyDeng
版主 能不能教我写个静态链接库呀
我怎么写 经过编译后,都不能找到.lib文件
弄了一个下午了
有点抓狂了
麻烦了
就写一个求两个数和的函数
2012-11-04 17:23
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
10
楼
收藏
得分:0
图片附件: 游客没有浏览图片的权限,请
登录
或
注册
图片附件: 游客没有浏览图片的权限,请
登录
或
注册
图片附件: 游客没有浏览图片的权限,请
登录
或
注册
图片附件: 游客没有浏览图片的权限,请
登录
或
注册
图片附件: 游客没有浏览图片的权限,请
登录
或
注册
授人以渔,不授人以鱼。
2012-11-04 21:12
举报帖子
使用道具
赠送鲜花
10
1/1页
1
快速回复:
关于include指令的问题
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.037114 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved