| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1086 人关注过本帖
标题:#include 编译后会增加程序体积吗?
只看楼主 加入收藏
nb533
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2009-3-26
收藏
 问题点数:0 回复次数:6 
#include 编译后会增加程序体积吗?
假如我再一个A.h文件里把工程的函数都包括进去,由于有些函数会调用到别的函数,所有我就在每一个函数最开始加了个#include "A.h",我这样写是不是要比用到哪函数就在函数前面添加这个函数申明编译后的体积要大,我是搞硬件编程的,对编译出来后的烧写文件体积有要求。
搜索更多相关主题的帖子: include 工程 硬件 
2013-09-27 10:42
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
聰明的編譯器會把沒用的代碼刨除(不聯接到目標機器碼中),但只要你用到過的任何東西,都會保留。

授人以渔,不授人以鱼。
2013-09-27 10:58
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
順便說一下,頭文件(.h)並不佔用多少空間,佔空間的是實現代碼以及靜態數據。

授人以渔,不授人以鱼。
2013-09-27 10:59
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
其實,這還與你使用的庫有關。不過你做硬件,估計用外部庫的機會不會很大。

授人以渔,不授人以鱼。
2013-09-27 11:14
zsjcyzz
Rank: 2
等 级:论坛游民
帖 子:12
专家分:18
注 册:2013-9-27
收藏
得分:0 
回复 4楼 TonyDeng
版主,您的签名,确定在嵌入式也试用吗?

我可是看到好多程序优化用位操作代替乘除,难道是我看到的都是糊弄人的?~
2013-09-27 16:06
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用zsjcyzz在2013-9-27 16:06:04的发言:

版主,您的签名,确定在嵌入式也试用吗?
 
我可是看到好多程序优化用位操作代替乘除,难道是我看到的都是糊弄人的?~

跟是否嵌入一點關係也沒有,優化是編譯器做的。嵌入式不用編譯器編譯程序,你用機器碼自己寫就那樣寫唄。實際對有些帶數學恊處理器的機器來說,程序員刻意寫這種東西根本就是多餘的,人家再複雜的運算也有機器指令去執行,要你自作聰明去做位幹嘛。把精力放在可讀性上比做細微不値得的小優化強得多,程序是要維護的,不是寫了就完事的。優化的代碼,不光別人不容易讀得明白,將來一段時間之後連自己也會莫名其妙,到時花費的代價大得多,除非你確保做的是一勞永逸、永遠不用再去看一眼了。

授人以渔,不授人以鱼。
2013-09-27 16:17
toofunny
Rank: 4
等 级:业余侠客
帖 子:71
专家分:200
注 册:2012-7-22
收藏
得分:0 
编译器的优化是很有限的,一个垃圾的程序员写的代码,无论编译器怎么优化都没有用。做底层的程序员使用位操作很正常。
2013-09-28 12:01
快速回复:#include 编译后会增加程序体积吗?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.088959 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved