静的な揮発性変数の初期化をスキップするようgccに指示する方法はありますか? 私はスタートアップ時やMCU上で実際にゼロにする必要のない複数の循環バッファ(volatile宣言されています)を持っています。これは約2500tcyの無駄です。C、スキップ初期化静的配列
事前のおかげで、
静的な揮発性変数の初期化をスキップするようgccに指示する方法はありますか? 私はスタートアップ時やMCU上で実際にゼロにする必要のない複数の循環バッファ(volatile宣言されています)を持っています。これは約2500tcyの無駄です。C、スキップ初期化静的配列
事前のおかげで、
あなたがgcc
を使用する場合は、あなたが.noinit
セクションで配列オブジェクトを配置することができます: `#ifdefの.....#のendif`を使用して
uint8_t arr[1024] __attribute__ ((section (".noinit")));
この拡張機能はC標準と矛盾していませんか? – SomeWittyUsername
もちろん、それはC標準に反するものです。 – ouah
@icepack - おそらくはい - これが拡張機能です。 – user93353
条件付きコンパイル? –
うーん...私はここでランタイムについては、設計時間ではないと言います。 – user1973900
それから選択はif/else –