给函数打桩是什么意思
时间: 2023-11-14 07:04:33 浏览: 84
给函数打桩是指在软件开发或测试过程中,通过修改函数的指令地址,将原函数的执行流程跳转到一个桩函数的过程。这个桩函数可以是开发人员自己编写的,也可以是一个占位函数。打桩的目的一般包括隔离、占位和控制。隔离是将测试任务从产品项目中分离出来,使之能够独立编译、链接,并独立运行。占位是对一些未实现的函数进行占位,多见于协同开发中,对于其他人完成的函数可以先使用桩函数进行占位。控制是在测试时,人为设定相关代码的行为,使之符合测试需求。打桩的方法可以通过修改函数指令地址实现,也可以通过链接插桩的方式实现。链接插桩依赖于gcc编译器的选项,通过使用--wrap func选项告诉链接器遇到func符号时解析成__wrap_func,遇到__real_func符号时解析成func。打桩的意义在于对函数的行为进行控制和测试,以便更好地进行软件开发和测试工作。
#### 引用[.reference_title]
- *1* *2* [一文看懂单元测试中的打桩](https://blog.csdn.net/weixin_36389889/article/details/129055360)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [如何实现函数打桩](https://blog.csdn.net/sydyh43/article/details/122587652)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)