在 RT-Thread 的 kernel 中,許多副程式的結尾都有 RTM_EXPORT
,如:
RTM_EXPORT
是在 rtm.h 中所定義的一個巨集。
RTM_EXPORT
可被定義的方式有三種:##
為連字符[1],作用是將指定文字帶到變數名稱裡;如:當傳進來的 symbol
值是 rt_enter_critical
時,此字串的變數名會被宣告成 __rtmsym_rt_enter_critical_name
SECTION
為 __attribute__((section))
的巨集寫法#
為字串話操作符,作用是將後面的變數轉換成字串;如當傳進來的 symbol
值是 rt_enter_critical
時,#symbol
會被轉換成 "rt_enter_critical"
RTM_EXPORT(rt_enter_critical)
透過 define
轉換成以下程式碼:EXPORT_SYMBOL
,其中的用意是為了在撰寫程式時能夠方便呼叫這些副程式[2],即模組化RT-Thread
kernel