1. 程式人生 > >在ARM平臺上的C使用 pragma arm section

在ARM平臺上的C使用 pragma arm section

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               

arm section section_sort_list

指定程式碼或資料節的名稱用於隨後函式或物件這包括編譯器初始化建立匿名物件定義選項​​有沒有效果

行內函數及其區域性靜態
變數)
模板例項及其區域性靜態變數
消除使用變數和函式 (雖然使用
pragma arm section可能使連線,以消除函式或變數,否則將保留因為同一節中使用函式或變數
定義寫入物件檔案順序
 pragma完整語法

#pragma arm section [sort_type[[=]"name"]] [,sort_type="name"]*

其中name是名稱使用部分sort_type一個


 rodata
 rwdata
 zidata

如果sort_type被指定名稱不是sort_type

 重置為預設值輸入#pragma arm section所有物件部分名稱,它們的預設值

int x1 = 5; // in .data (default)
int y1[100]; // in .bss (default)
int const z1[3] = {1,2,3}; // in .constdata (default)
#pragma arm section rwdata = "foo", rodata = "bar"
int x2 = 5; // in foo (data part of region)
int y2[100]; // in .bss
int const z2[3] = {1,2,3}; // in bar
char *s2 = "abc"; // s2 in foo, "abc" in .conststring
#pragma arm section rodata
int x3 = 5; // in foo
int y3[100]; // in .bss
int const z3[3] = {1,2,3}; // in .constdata
char *s3 = "abc"; // s3 in foo, "abc" in .conststring
#pragma arm section code = "foo"
int add1(int x) // in foo (code part of region)
{
return x+1;
}
#pragma arm section code



作為替代#pragma arm section使用GNU__ attribute__功能屬性描述函式或變數,
使用ARM連結器來控制如何放置記憶體中的一個特定的地址RealView編譯工具3.0版連結程式和實用程式指南使用分散載入描述檔案分散載入描述檔案

           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述