0

NSISで私を本当に悩ませているのは、2つの異なる方法がある理由です。

  1. 条件文/ロジックを実行する2つの方法があるのはなぜですか。つまり、「$ if」を使用するか、「StrCmp」を使用しますか?
  2. 変数をさまざまな方法で格納できるのはなぜですか。つまり、「$ myvar」を使用するか、「var myVar」を使用すると、さらに多くのことがあると思います
  3. ストア変数にアクセスするためのアセンブリがあるのはなぜですか?上記の方法を使用しないのはなぜですか
  4. ';'の両方を使用してコメントを作成できるのはなぜですか。また '#'

すべてのグローバル変数を文書化したリンクを提案できますか?$ INSTDIRなど?

4

2 に答える 2

2

あなたは明らかにNSISがどのように機能するかをすべて理解していません。

  1. ${If}そして、それらはすべてLogicLibからのものであり、長い間存在していた後にNSIS標準ライブラリに追加されました。以前は、、、またはこれらのジャンプ演算子の1つを使用する必要がStrCmpありIntCmpました。ラベルがすべて処理された${If} a == b単なる構文糖衣です。StrCmpそれははるかに保守しやすいコードを生成します。

  2. Var fooは変数宣言です。変数$fooアクセスしています。したがって、それらはまったく異なるものです。$fooを指定せずに使用することはできませんVar foo

  3. 私はあなたがこれが何を意味するのか見当がつかない。

  4. それは重要ですか?

  5. マニュアルをご覧ください。それはすべて一目でわかります。変数セクションを試してください。

于 2012-05-03T01:43:51.863 に答える
0

予約変数のリストは、ドキュメントに記載されています。書き込み可能な変数はセクション4.2.2にあり、定数は4.2.3にあります。

http://nsis.sourceforge.net/Docs/Chapter4.html#4.2.2

于 2012-05-03T01:44:01.447 に答える