最近在做一个项目需要移植snap7,它是C++编写的,我的思路是将其在keil中打包成lib来调用。
一、创建snap7工程
解决编译问题:
1. 将一些接口使用rt-thread里的替换和包含头文件(比如lwip相关的)
2. keil工程修改为C++编译
3. 重载new、delete函数
二、调用C++库测试
在直接调用snap7.lib前我做过测试,keil C工程里调用C++库是可行的。
1. 在snap7工程里增加函数给C工程调用
2. C工程调用测试
3. 在做到上面那步时我就发现程序不能正常运行,后面发现是只要调用了snap7的类就会这样,具体现象如下
三、求助
现在上面的情况实在是没有思路,且网上也找不到什么相关资料,求大家解答下
我尝试过找出一个很久以前的工程,rt-thread的版本还是1.多的一个stm32f429的工程,这个工程里按上面调用snap7.lib是可以运行的,我现在的工程是rt-thread版本3.多的(不过因为一些功能实现是有修改过源码的)nuc972工程不能运行,所以我尝试过在rt-thead4.0.2的源码下做了一个工程也不能运行
|