Skip to main content

SA0023:複雑な戻り値

プロセッサの単純なレジスタコピーでは返すことができない複雑な戻り値を決定します。これには、構造体、配列、およびタイプの戻り値が含まれます STRING (占有ストレージスペースのサイズに関係なく)。

理由: これはパフォーマンスに関する警告です。関数、メソッド、またはプロパティの結果として大きな値が返された場合、プロセッサはコードの実行時にそれらの値を複数回コピーします。これは実行時の問題を引き起こす可能性があるため、可能な限り回避する必要があります。構造化された値を次のように渡すことでパフォーマンスを向上させることができます。 VAR_IN_OUT 関数またはメソッドに追加し、それを関数またはメソッドに入力します。

重要性:中

35.
TYPE LargeStructure :
STRUCT
    a : LINT;
    b : BOOL;
END_STRUCT
END_TYPE
FUNCTION Large_Return_Value_FUNC : LargeStructure   // SA0023

での出力 メッセージ ビュー:

  • sa_icon_message.png SA0023: 複雑な戻り値