桩代码管理器用于添加、屏蔽或修改桩函数/全局变量定义。 在主工具栏单击“桩代码管理”,或从“代码”菜单,单击“桩代码管理”,可打开“桩代码管理器”,如下图:
添加桩函数/全局变量定义
添加桩函数/变量需要输入源文件名和函数原形/变量定义,这些信息通常可以从链接错误中拷贝,如以下链接错误:
MyClass.obj : error LNK2001:
unresolved external symbol "int __cdecl
test(int)"
蓝色部分就是文件名,红色部分就是函数原形,把这两项信息输入后,点击“添加”,就会生成新的桩函数。如果链接错误是这种方式:
cstr.obj : error LNK2001: unresolved
external symbol _aaaa
红色部分是前面加了下划线的函数名或变量名,无法确定符号的原形,则需要搜索产品代码,找出这个符号的原形
,如果找不到,则可以随便填一个原形,如void aaaa();,生成后编译时,如果原形不正确,编译错误通常会提示正确的原形是什么,再删除错误的桩定义,重新生成正确的桩。
请参考“符号未定义”链接错误。
屏蔽多余的桩函数/全局变量定义
出现类似于以下链接错误时,需要屏蔽多余的桩函数或全局变量aaaa(函数/变量名不包括前面的下划线):
cstr.obj : error LNK2005: _Add
already defined in xxx.obj
屏蔽方法:
1)输入函数/变量名或其一部分(不包括参数表,可包括类名,如Add或CMyClass::Add),点击“搜索”,找出多余的桩代码。
2)点击“屏蔽/恢复”,桩代码将变成注释。
编辑桩函数/全局变量定义
可在“桩代码管理器”中直接修改桩代码。 |