这个问题处理了类似的问题,但它的重点是强制编译器包含一个函数,而不是链接器。
尽管如此,paxdiablo 的答案仍然适用于这里 - 您可以创建一个包含所有要包含的函数的全局数组。链接器不知道是否有人使用该数组作为跳转表,因此它必须包含这些函数。(一个真的聪明的链接器可能知道这个数组永远不会被访问,但是你可以更进一步,让一个函数访问该数组,尽管那时它会变得很难看)。
这是 paxdiablo 建议的代码,稍作重命名:
void *functions_to_forceinclude[] = {
&functionToForceIn,
&anotherFunction
};
Run Code Online (Sandbox Code Playgroud)
这在技术上是一种黑客攻击,但它很简单并且非常便携。
| 归档时间: |
|
| 查看次数: |
910 次 |
| 最近记录: |