delphi - 在 Delphi 中编译/链接未使用的函数/过程

标签 delphi compiler-construction linker delphi-7

我想在我的应用程序中“提供”几个函数/过程,甚至是变量,而不是在我自己的代码中使用它们。编译器会自动忽略未使用的变量和函数还是链接器?我该如何改变它?我已经尝试取消选中 CodeGeneration ---> Optimization 但没有成功。

最佳答案

如果您程序中的某些内容引用了该对象,则链接器无法删除它。所以你可以像这样利用它:

procedure StopLinkerRemoval(P: Pointer);
begin
end;

然后在你的初始化部分你可以这样写:

StopLinkerRemoval(@MyVar);
StopLinkerRemoval(@MyFunction);

您需要做的就是引用对象。您不需要调用函数,也不需要读/写变量,只需获取它的地址。

关于delphi - 在 Delphi 中编译/链接未使用的函数/过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14702033/

相关文章:

optimization - 是什么使得未优化的 F# 代码比优化的代码更快?

C++ 链接器错误 LNK2019

delphi - 使用 TVirtualStringTree.OnGetImageIndex 覆盖图像

delphi - Delphi中有很多可移动的方 block

android - 无法设置动态部分大小 : Memory exhausted

java - 如果不在类文件中,编译后的代码将存储在哪里

java - Ant 编译器对特定类文件发出警告

Delphi绘制光滑的饼图

c - 虚拟内存和可重定位代码

c - 包含头文件时的 undefined reference