2012-05-03 15 views
0

NSISで本当に迷惑なことは、2つの異なる方法がある理由です。NSISは変数を宣言する2つの方法と条件文を持っています

  1. 条件文/ロジックを実行する2つの方法があります。つまり、 '$ if'を使用するか、 'StrCmp'を使用しますか?
  2. なぜ変数をさまざまな方法で格納できるのでしょうか。つまり、 '$ myvar'を使用するか、 'var myVar'を使用してください。もっと詳しく考えてください
  3. なぜストア変数にアクセスするアセンブリがありますか?なぜ上記の方法を使用しないのですか?
  4. なぜ、 ';'または '#'

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

答えて

2

あなたは明らかにNSISの仕組みのすべてを理解していません。

  1. ${If}及びそれらのもののすべては、それが長い間存在してきた後NSIS標準ライブラリに追加されたLogicLibからです。以前は、StrCmpIntCmp、またはそれらのジャンプ演算子の1つを使用しなければなりませんでした。 ${If} a == bは、文法の砂糖で、ラベルはすべてStrCmpです。はるかに保守可能なコードを生成します。

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

  3. 私はあなたがこれによって何を意味しているか分かりません。

  4. 重要ですか?

  5. マニュアルを参照してください。それはすべて明白な光景の中にあります。 Variablesセクションをお試しください。

関連する問題