闲置代码中的开销。
我想知道在您的代码中使用未使用的功能会带来多少开销。
假设您有一些调试日志记录,然后为大多数对象提供了调试日志中正在使用的ToString()函数。
在发行版中,没有使用调试日志记录。那么值得删除那些ToString()函数的源代码吗? (例如通过Macro?)
还是它们只是使可执行文件略大,否则不会影响性能?例如没有速度影响?还是如果不使用这些功能,编译器或链接器甚至可能会删除这些功能?如果编译器或链接器没有删除代码,那么如果ToString()函数是内联定义的,该怎么办?大概它将尝试内联代码,并且由于从未调用过该函数,它将消失吗?
我想每个功能都需要保留在静态库中,但是一旦编译为可执行文件,链接器会忽略很多东西吗?
在另一个大致相似的注释上,如果编译器选择不内联一个内联函数,以便将内联函数定义为多个编译单元中的函数,则链接器将舍弃多余的定义,仅在最后链接其中一个?
谢谢
没有找到相关结果
已邀请:
4 个回复
括宠
嗓瑰
课刊灭似
的另一个优点是它是可移植的,并且不依赖于特定的编译器系统:-/
阀傻