2013-07-20 15 views
6

静的な揮発性変数の初期化をスキップするようgccに指示する方法はありますか? 私はスタートアップ時やMCU上で実際にゼロにする必要のない複数の循環バッファ(volatile宣言されています)を持っています。これは約2500tcyの無駄です。C、スキップ初期化静的配列

事前のおかげで、

+0

条件付きコンパイル? –

+0

うーん...私はここでランタイムについては、設計時間ではないと言います。 – user1973900

+0

それから選択はif/else –

答えて

6

あなたがgccを使用する場合は、あなたが.noinitセクションで配列オブジェクトを配置することができます: `#ifdefの.....#のendif`を使用して

uint8_t arr[1024] __attribute__ ((section (".noinit"))); 
+0

この拡張機能はC標準と矛盾していませんか? – SomeWittyUsername

+0

もちろん、それはC標準に反するものです。 – ouah

+0

@icepack - おそらくはい - これが拡張機能です。 – user93353