如果您尝试在任何C++程序中使用nm实用程序,您可能已经注意到许多符号被识别为'V‘或'W’。两者都是不同类型的弱符号。
现在,在可执行文件中包含大量的弱符号是不好的,因为在运行时,动态链接器将尝试解决所有这些问题。我在想,在链接可执行文件时,可以通过执行一个简单的约定来节省大量时间:
这次黑客攻击对我来说是安全的,因为:
在我试图与二进制程序开发人员讨论这个问题之前,我是否遗漏了一个巨大的错误?
发布于 2013-03-04 00:15:23
我看不出有什么能阻止你描述的工作。
不过,我想知道这是否值得这样做。我确信这也是你的“二进制开发人员”想知道的。
因此,我建议您看看几件事:在典型情况下,在可执行文件和动态库中定义相同的符号的频率是多少?
由于很可能仍有大量未在可执行文件中定义的弱符号,您实际节省了多少时间?
一些现有程序的例子,这些程序得到了改进,或者至少回答了“对于应用程序X,这些时间平均花在查找一个弱符号上,这就是潜在的收益吗?”
这就是我作为一个二进制开发人员所要寻找的--我不是其中之一,但如果我是这样的话。
https://stackoverflow.com/questions/15190634
复制相似问题