自分のコードでそれらを使用することなく、アプリケーションでいくつかの関数/手順または var を「提供」したいと考えています。コンパイラは未使用の変数と関数を自動的に無視しますか、それともリンカーですか? どうすればそれを変更できますか? 私はすでにチェックを外そうとしましCodeGeneration ---> Optimization
たが、うまくいきませんでした。
3 に答える
6
プログラム内の何かがオブジェクトを参照している場合、リンカはそれを削除できません。したがって、次のようにこれを利用できます。
procedure StopLinkerRemoval(P: Pointer);
begin
end;
次に、初期化セクションで次のように記述できます。
StopLinkerRemoval(@MyVar);
StopLinkerRemoval(@MyFunction);
あなたがする必要があるのは、オブジェクトを参照することだけです。関数を呼び出したり、変数の読み取り/書き込みを行ったりする必要はありません。アドレスを取得するだけです。
于 2013-02-05T07:46:04.213 に答える
4
「未使用」または参照されていないprocedures
/functions
をアプリケーションprivate
でprotected
methods
コンパイルするには、パッケージをビルドし、dcu
ファイルをライブラリ パスに配置する必要があります。
public
アプリケーションで参照されなくてpublished
methods
もコンパイルされます。
于 2013-02-05T07:44:12.180 に答える
1
リンカは、未使用の変数を無視するものです。ただし、プロシージャと関数で同じことができるかどうかはわかりません。この変更は変更できません。
于 2013-02-05T07:38:50.923 に答える