0

nsisスクリプトにc++クラスを呼び出す方法があるかどうか知りたいだけですか?

ありがとう。

4

2 に答える 2

0

NSISはDLL内の関数を呼び出すことができますが、呼び出し規約は多少制限されており、クラスを直接サポートしていません。クラス関数を簡単に呼び出すことはできません。

extern "C"必要に応じてクラスのインスタンスを作成および破棄する関数とともに、すべてのクラスメンバー関数のラッパー関数を作成することで、それを「ハッキング」できる場合があります。新しく作成されたインスタンスを表すものをなんとかしてNSISに戻す必要があります。その後、NSISは、必要なパラメーター/引数とともにラッパー関数に渡します。

それが価値があるよりも多くの問題のように聞こえます...

于 2013-03-08T05:55:07.163 に答える
-1

私の意見では、関数を呼び出す最も簡単な方法は、それをdllにエクスポートしてから、System::Call関数を使用してnsisから呼び出すことです。

于 2013-03-08T07:06:52.230 に答える