他のデータをインターリーブすることなく静的リンケージを使っていくつかのオブジェクトをまとめたいと思います。オブジェクトは別々のソースファイルで定義されています。オーダーは連続している限り重要ではありません(最小/標準のパディングを除く)。多くのターゲットのためのスタティックオブジェクトを一緒にまとめる標準的な方法
のgccで私は__attribute__((section("mydata")))
でこれを達成することができますが、GCC
特定とだけ多くのコンパイラがそれをサポートしていますAFAIK
(GCC、LLVMといくつか他の人が、私はMSVCではないと思う)、(エルフはい、他の人は私が」わからない、私はそれを疑う)。
Q1:これを実現する標準的な方法はありますか?
Q2:GCC
は、オブジェクトがパディングと連続していることを保証しますか?オブジェクトは、一定のストライドを有する線形スキャンによって列挙することができる。
Q3:GCC
とこの属性をサポートする他のコンパイラとの間で動作に違いがありますか?
Q4:どのターゲットとメジャーコンパイラがこれをサポートしないのですか?