通信プロトコル (USB デバイス記述子) で使用される配列があります。このプロトコルは、配列ヘッダーで配列サイズを呼び出します。だから私はそれをしたいと思います(これは禁止されています):
static uint8_t array[]= {
TYPE,
sizeof(array),
other data...
};
配列はメモリの読み取り専用部分にあり、関連するセルを後でオーバーライドすることはできません。セルをオーバーライドするためにコピーするつもりはありません(最小限の組み込みシステムにあります)。DMA を通過するため、「オンザワイヤ」のように見える必要があります。
この制限を回避できる魔法はありますか? C99 または GNU 拡張機能を使用したいと考えています。そのためだけに切り替えるつもりはありませんが、C++ ソリューションにも興味があります。