C & C++ 中值得注意的编译,链接,调试,错误及其原因

  1. define VaParameter_Macro(...)

    编译环境: VC6.0编译错误: error C2010: '.' : unexpected in macro formal parameter list

    原因: 据查是因为VC6.0不支持可变参数的宏定义,VC6.0编译不能通过

  2. ****.cpp 文件中有如下函数:

void skf_drawText(Skf_Char pcText, Skf_S16 x, Skf_S16 y, screenRectStrect*, colourSt*colorst*, Skf_S32 flag, Skf_U16 font, unsignedchar p)

其中:
struct screenRectSt ;
struct colourSt 自定义数据结构

通过gdb调试,进入skf_drawText, 所有的数据均为非法数据,无法进行调试,但print的数据均为正常,有效数据
如下所示:

C & C++ 中值得注意的编译,链接,调试,错误及其原因
通过尝试用如下定义,则调试过程一切正常。

void skf_drawText(Skf_Char pcText, Skf_S16 x, Skf_S16 y,mr_screenRectStrect,mr_colourSt*colorst, Skf_S32 flag, Skf_U16 font,unsigned char **p)
结论: 函数定义,实现过程中,参数尽量采用指针或者基本数据类型,提高效率同时 方便gdb 进行调试

原文链接: https://www.cnblogs.com/yaozhongxiao/archive/2012/03/07/2383966.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/43593

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月8日 下午8:13
下一篇 2023年2月8日 下午8:14

相关推荐