2012-03-22 89 views
1
#define __HAVE_ARCH_STRCPY 

__HAVE_ARCH是什麼意思?我不是一個母語的人,我沒有找到谷歌的意義...(也許這個問題很愚蠢)難以理解這個宏

回答

2

通過定義__HAVE_ARCH_XXXX預處理器令牌,它允許操作系統內核中的其他位置測試當前的硬件平臺是否支持strcpymemset等功能。您會注意到在某些平臺上定義了該令牌,然後將這些函數的基本實現與令牌一起定義爲內聯函數,因爲在這些平臺上,某些其他內核庫或內核代碼不提供這些功能模塊。在其他平臺上,函數是在其他一些代碼模塊中定義的,並且可以簡單地在預處理器令牌之後聲明爲extern

請記住,內核本身在Linux沒有訪問libc庫的標準,所以這些功能必須從你會在被打擊的libc鏈接的用戶,土地利用通常使用單獨定義。因此,定義哪些標準函數存在以及哪些不存在是很重要的,因爲它可能因平臺而異。

2

「這個架構有strcpy()」。