在Assembly文件中使用#defined'd函數/內聯函數是否有任何限制。在Assembly文件中使用#defined'd函數/內聯函數的限制
我引用了bsd內核,其中定義了兩種不同的實現。 一個是宏等是被定義的asfunction一個正常功能(二者都是相同的功能)
在C文件了splx, http://ftp.hu.freebsd.org/pub/netbsd/NetBSD-release-4-0/src/sys/arch/arm/omap/omap_intr.c
而在h頭文件了splx被定義爲宏, http://ftp.hu.freebsd.org/pub/netbsd/NetBSD-release-4-0/src/sys/arch/arm/omap/omap_intr.h
我的理解是在彙編文件中使用c文件定義,而在包含頭文件的所有其他函數中使用宏定義。
我想我不清楚爲什麼大會在這裏進入圖片。基本上有兩個定義,一個在c文件中,另一個在splx的h文件中。當我剛剛在C語言中註釋掉splx定義時,我在彙編彙編文件時遇到了一些錯誤。(cpu.S)Thatz爲什麼我在編譯彙編文件時使用函數定義(如在c文件中),而宏定義是用於所有其他文件包括h文件。
現在我的問題是:爲什麼不能通過包含頭文件來使用宏定義不能使用宏定義?
您是否找到答案或者您在尋找進一步的幫助? – 2010-02-07 04:33:29
尋找更多幫助 – kumar 2010-02-07 18:34:54