如何在C代碼中使用內聯彙編之控制在彙編代碼中要使用的名稱

控制在彙編代碼中要使用的名稱

可以通過在聲明符後面寫asm(或_asm__)關鍵字來指定C函數或變量的彙編代碼中要使用的名稱。
你可以確保所選擇的彙編程序名稱不會與任何其他彙編程序符號或引用寄存器發生衝突。

數據的彙編名稱:
這個示例演示瞭如何爲數據指定彙編器名稱:
int foo asm (“myfoo”) = 2;

這指定在彙編代碼中用於變量foo的名稱應該是’ myfoo ‘而不是通常的’ _foo '。
在通常將下劃線作爲C變量名稱前綴的系統上,此功能允許爲不以下劃線開頭的鏈接器定義名稱

函數的彙編名稱:
要指定函數的彙編器名稱,請在函數定義之前編寫一個聲明,並將asm放在那裏,如下所示:
int func (int x, int y) asm (“MYFUNC”);

int func (int x, int y)
{
/* … */

這指定在彙編代碼中用於函數func的名稱應該是MYFUNC。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章