0

gccに配列を特定のセグメントに格納するように強制することは可能ですか?

これ欲しい

static const Host_Vtable_Entrty Host_vtable[]=
{
{"Window_create",(Function)Window_create}
,{"Window_cropEllipse",(Function)Window_cropEllipse}
,{"Window_cropRect",(Function)Window_cropRect}
,{"Window_cropRectRound",(Function)Window_cropRectRound}
,{"Window_destroy",(Function)Window_destroy}
,{"Window_filenameGet",(Function)Window_filenameGet}
,{"Window_filenameGet",(Function)Window_messageBox}
,{"Window_move",(Function)Window_move}
,{"Window_styleSet",(Function)Window_styleSet}
};

読み取り専用の場所に保存されますが、データセグメントに配置されます。

    .data
.align 32
_ZL11Host_vtable:
.quad   .LC0
.quad   _Z13Window_createP6WindowP6ObjectPFyS2_PjyyEPFyS2_yPvE
.quad   .LC1
.quad   _Z18Window_cropEllipseP6Windowjdddd
.quad   .LC2
.quad   _Z15Window_cropRectP6Windowjdddd
.quad   .LC3
.quad   _Z20Window_cropRectRoundP6Windowjdddddd
.quad   .LC4
.quad   _Z14Window_destroyP6Window
.quad   .LC5
.quad   _Z18Window_filenameGetPcyPKcS1_j
.quad   .LC5
.quad   _Z17Window_messageBoxP6WindowPKcS2_j
.quad   .LC6
.quad   _Z11Window_moveP6Windowdddd
.quad   .LC7
.quad   _Z15Window_styleSetP6Windowjj

アセンブリを手動で作成する必要がありますか?

4

1 に答える 1

1

GCCドキュメントで言語のGCC固有の拡張機能を検索すると、変数属性を説明しているドキュメントに出くわします。segmentここに、その使用方法の例とともに呼び出される1つの属性があります。

于 2012-09-08T08:39:38.653 に答える