共2条
1/1 1 跳转至页

问
去年年末,我突发奇想地用C++来改写一段简单的ARM程序(就是使用了串行中断和基本的一点功能),用了类来封装。
结果发现一打开中断程序就跑飞了,现在想想,有些时候用C++是比较方便的说。
可能我有那里设置是不是没搞好阿
大家来说说自己的经验吧。
多谢! 答 1: check若class设计了中断处理接口必须保证中断发生时对象已经实例化,否则突如其来的中断就会操作一个尚未诞生的对象程序就容易over,其他的就没有什么特别了。
答 2: 已经在一开始构建了对象而且,我的中断并没有使用该对象
其实还一个问题,我发现C++和汇编无法链接 答 3: extern “C”连接问题多会出现在asm、c、cpp混合使用的情况下,这是cpp编译器name conventions特性引起的。
简单一点可以这样说:
1,要使得asm、c函数变量在cpp中可见要在cpp编译中对相关的函数或者变量使用extern “C”声明;
2,要使cpp中的函数或者变量在asm、c中可见需要在cpp中使用extern “C”进行相关的定义。 答 4: 说到这我想起来了在动态连接库的声明也是有类似
当时我用了比较笨的办法解决了这个问题
最主要的问题还是那个中断的,比较晕人啊 答 5: 找找其他方面的原因或者把代码贴出来看看。找找其他方面的原因或者把代码贴出来看看。 答 6: 唉代码已经在过年时发火给删掉了
不过不复杂,那天我再试试看看 答 7: exdata说得确实正确这个问题也让我困扰了2天...幸得exdata出嘴相救...十分感激...
结果发现一打开中断程序就跑飞了,现在想想,有些时候用C++是比较方便的说。
可能我有那里设置是不是没搞好阿
大家来说说自己的经验吧。
多谢! 答 1: check若class设计了中断处理接口必须保证中断发生时对象已经实例化,否则突如其来的中断就会操作一个尚未诞生的对象程序就容易over,其他的就没有什么特别了。
答 2: 已经在一开始构建了对象而且,我的中断并没有使用该对象
其实还一个问题,我发现C++和汇编无法链接 答 3: extern “C”连接问题多会出现在asm、c、cpp混合使用的情况下,这是cpp编译器name conventions特性引起的。
简单一点可以这样说:
1,要使得asm、c函数变量在cpp中可见要在cpp编译中对相关的函数或者变量使用extern “C”声明;
2,要使cpp中的函数或者变量在asm、c中可见需要在cpp中使用extern “C”进行相关的定义。 答 4: 说到这我想起来了在动态连接库的声明也是有类似
当时我用了比较笨的办法解决了这个问题
最主要的问题还是那个中断的,比较晕人啊 答 5: 找找其他方面的原因或者把代码贴出来看看。找找其他方面的原因或者把代码贴出来看看。 答 6: 唉代码已经在过年时发火给删掉了
不过不复杂,那天我再试试看看 答 7: exdata说得确实正确这个问题也让我困扰了2天...幸得exdata出嘴相救...十分感激...
共2条
1/1 1 跳转至页
回复
打赏帖 | |
---|---|
汽车电子中巡航控制系统的使用被打赏10分 | |
分享汽车电子中巡航控制系统知识被打赏10分 | |
分享安全气囊系统的检修注意事项被打赏10分 | |
分享电子控制安全气囊计算机知识点被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】【OZONE】使用方法总结被打赏20分 | |
【分享开发笔记,赚取电动螺丝刀】【S32K314】芯片启动流程分析被打赏40分 | |
【分享开发笔记,赚取电动螺丝刀】【S32K146】S32DS RTD 驱动环境搭建被打赏12分 | |
【分享开发笔记,赚取电动螺丝刀】【IAR】libc标注库time相关库函数使用被打赏23分 | |
LP‑MSPM0L1306开发版试用结果被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】【LP-MSPM0L1306】适配 RT-Thread Nano被打赏23分 |