2012-03-22 93 views
1
#define __HAVE_ARCH_STRCPY 

__HAVE_ARCH是什么意思?我不是一个母语的人,我没有找到谷歌的意义...(也许这个问题很愚蠢)难以理解这个宏

回答

2

通过定义__HAVE_ARCH_XXXX预处理器令牌,它允许操作系统内核中的其他位置测试当前的硬件平台是否支持strcpymemset等功能。您会注意到在某些平台上定义了该令牌,然后将这些函数的基本实现与令牌一起定义为内联函数,因为在这些平台上,某些其他内核库或内核代码不提供这些功能模块。在其他平台上,函数是在其他一些代码模块中定义的,并且可以简单地在预处理器令牌之后声明为extern

请记住,内核本身在Linux没有访问libc库的标准,所以这些功能必须从你会在被打击的libc链接的用户,土地利用通常使用单独定义。因此,定义哪些标准函数存在以及哪些不存在是很重要的,因为它可能因平台而异。

2

“这个架构有strcpy()”。