vs2013移植cJson问题总结

cJson,avltree移植mfc中问题总结

关于cJson移植

网上找到cJson源码的c语言版本,移植到mfc程序中发现存在以下问题,总结如下。

  1. 首先代码中的sprintf和strcpy都需要加_s,因为vs2013默认会对此类非安全函数进行error报错。一种解决方法是进行设置减低报错级别,另一种就是用安全函数替代。还有一种解决方法是将文件后缀改为cpp,加安全函数后,可以不写第二个参数,也不会报错,应该是c++重载了此函数。
  2. 安全函数替代时,发现以下问题,strcpy,sprintf等安全函数的第一个参数值,不能随便设置,否则运行后会造成意想不到的断言。(必须保证: strlen(src) < para2 <= sizeof(dest))
    vs2013移植cJson问题总结

关于avl-tree移植

网上找到源码的c语言版本,移植到mfc程序中发现存在以下问题,总结如下。

  1. 代码中的XCALLOC_X函数,需要自己重新定义,因为每个项目可能都有自己的封装方式。我的封装如下:
    vs2013移植cJson问题总结
    vs2013移植cJson问题总结
  2. 头文件中如果不识别的内型,要自己定义。
    vs2013移植cJson问题总结