我用KEIL编译程序时,我的main主程序为空,然后我再加了一些c文件,为什么编译连接后CODE也会很大

为什么C文件越多,code越大呢?这些都跟我需要执行的代码没有关系的啊?请高手指点... 为什么C文件越多,code越大呢?这些都跟我需要执行的代码没有关系的啊?请高手指点 展开
 我来答
常乐常知足
2012-03-09 · TA获得超过1152个赞
知道小有建树答主
回答量:702
采纳率:66%
帮助的人:190万
展开全部
编译不只是编译main函数,你工程里面所有的.c文件里面的代码,只不过执行不到而已。不过没有执行到的函数一般会告警的,除非你把告警关了(选项里面有个告警级别,级别0就是关了)。连接程序只是把所有的目标程序安排适当的地址而已。
aaasuper
2012-03-08 · TA获得超过801个赞
知道小有建树答主
回答量:431
采纳率:100%
帮助的人:624万
展开全部
编译不只是编译main函数,你工程里面所有的.c文件里面的代码,都会被编译并且最后何必到一个文件里面,如果有些文件没有用到,可以从工程里面去掉
追问
是啊,但它在链接的时候不能自己去掉吗?对于我的MCU来说,那些C文件根本就没用啊,从我主程序里面也不能链接过去的啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-03-08
展开全部
不会吧,我记得如果C文件里的函数你没有调用的话,它在编译的时候会出现很多警告,就是警告你说,这个函数你没有用到,它自己也会给你忽略掉这个函数的
追问
不会的啊,我用的KEIL V4,你那个是应该定义变量没有用到会出现警告的吧。我搞不懂我的MAIN函数为空,即其他的所有逻辑都没有用到啊,连接的时候也连接不上去啊,为什么我的BIN文件会很大呢?郁闷中,还请高手指点原因
追答
我觉得另一位的回答比较正确
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式