C語言和彙編怎樣引用對方定義的變數

時間 2021-08-13 16:50:32

1樓:匿名使用者

c中要使用匯編裡面函式的話 需要在彙編裡面使用export *** 匯出函式標號 c中加extern ***彙編要使用c裡面的函式的話 需要在彙編裡使用import *** 匯入外部標號

2樓:匿名使用者

彙編加global定義,加「_」區別。比如c中的定義是num1,彙編中就是_num1,兩者是等同的。對了,你沒說你的處理器和開發環境是什麼,所以定義也有可能如樓上所說。

3樓:小白範

c語言的方法:

假定a模組有一個變數int g_nvara需要給別的模組引用,其方法為:

1)在a.c原始檔中定義變數:

int g_nvara;

2)在a.h標頭檔案中申明該變數:

extern int g_nvara;

3)所有需要用到該變數的模組包含a的標頭檔案:

#include "a.h"

這樣,既可以引用g_nvara變數,又可以避免重複定義。

4樓:匿名使用者

用指標。

以32位系統為例:

unsigned short int *ptr=0x00000000;

然後就可以利用ptr管理地址為0,1的記憶體空間了。如:

*ptr=100;

就可以把該字的值設定為100

5樓:古赩馮三詩

樓上的說法並不正確,要看ref1是定義在哪個段,如果是在**段,當然是常量,如果是在資料段,那當然可以修改,只不過相當於有個0的初值的unsinged

long變數而已。

6樓:匿名使用者

不同的開發環境, 有不同的定義. 如果是 keil mdk. 可以參考一下啟動檔案. startup_xx.s 最好還是翻一下編譯器參考手冊

組合語言和C語言,誰更難學

大維 其實這兩種都屬於結構化程式語言。c相對於更容易接受一些!並且不用去考慮記憶體的分配,變數的儲存,所以剛開始學程式設計,可以先學c,但是到指標的話還是要了解一下計算機記憶體相關的問題。彙編的話,需要了解計算機的暫存器以及記憶體單元的分配,都需要程式設計者自己去搞。實際上如果程式設計形成思想之後,...

組合語言和反彙編的區別,學習組合語言有什麼好處

反彙編是分析已經有的程式的過程。就是看這些程式的彙編 看看這些程式是怎麼執行的。因為是逆向過程,所以加了反字。學習組合語言有什麼好處 組合語言更解決計算機的底層,彙編源程式執行效率高。一些高階語言都是先轉成彙編然後再轉成機器語言的。瞭解彙編可以幫組更好的瞭解高階語言,設計演算法啥的。如果你要是搞硬體...

我們編寫的組合語言和C語言如何能夠轉換成計算機可讀的二進位制

電動汽車研究平臺 將用高階語言寫成的程式變成機器可識別的二進位制 的過程稱為編譯過程.因為在計算機中,各種資訊和資料都是以檔案形式存放的.在編輯方式下建立起來的程式檔案稱為源程式檔案,簡稱原始檔 如noname.c 相應的程式叫做源程式.源程式是用高階語言編寫的,它不能直接在機器上執行.因為計算機並...