1

gnatpp を使用して一部の ada コードのレイアウトを改善しようとしていますが、プロシージャ呼び出しを再フォーマットするときに、名前付きパラメーターを別の行ではなく同じ行に配置しています。私が使用しているスイッチは次のとおりです。

gnatpp $(INCLUDES) -A0 -aM -c0 -kL -nD -M128 -rf test.adb

-A0 はすべてのアライメントの問題をオフにする必要があることを理解しています...

どのように私がそれらを誤解しているのか分かりますか?

4

1 に答える 1

1

配置オプションの文言が少し混乱するかもしれません。

配置オプションのドキュメントには次のように書かれています。

特定の構造が縦に並んでいると、プログラムが読みやすくなります。デフォルトでは、すべての配置がオンに設定されています。-A0 スイッチを使用してデフォルトを OFF にリセットし、1 つまたは複数の他の -An スイッチを使用して、特定のコンストラクトのアライメントを有効にすることができます。

-A0 すべてのアライメントをオフに設定

ここで理解しなければならないことは、このテキストは、これらのスイッチがgnatppに対して行っていることを説明しようとしているのであって、独自のソース コードに対してではないということです。

したがって、設定によって行っていることは-A0、ソース コードで「すべてのアラインメントの問題をオフにする」ことではなく、そうでなければソース コードのアラインメントを調べて修正するgnatpp のすべてのコードを無効にすることです。

-A0gnatpp に「私のソース コードの配置に手を加えないでください。私はそのままの状態が好きです」と事実上言っているのです。

そこから-A0取り出して、結果がより良いかどうかを確認してください.

于 2011-01-12T14:48:01.263 に答える