2.8. 添加符号版本

编译器和链接器支持 GNU 扩展符号版本控制模型。

要使用 C 或 C++ 代码创建包含符号版本的函数,必须使用汇编程序的标签 GNU 扩展将函数符号重命名为以下符号:该符号的名称为 function@@ver(对于 function 的缺省 ver)或 function@ver(对于 function 的非缺省 ver)。

例如,定义缺省版本:


int new_function(void) __asm__("versioned_fun@@ver2");

int new_function(void)

{

    return 2;

}

定义非缺省版本:


int old_function(void) __asm__("versioned_fun@ver1");

int old_function(void)

{

    return 1;

}

有关详细信息,请参阅:

Copyright © 2002-2007 ARM Limited. All rights reserved. ARM DUI 0205HC
Non-Confidential