共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 跳转至页
回复
有奖活动 | |
---|---|
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【我踩过的那些坑】结构堵孔导致的喇叭无声问题被打赏50分 | |
【我踩过的那些坑】分享一下调试一款AD芯片的遇到的“坑”被打赏50分 | |
电流检测模块MAX4080S被打赏10分 | |
【我踩过的那些坑】calloc和malloc错误使用导致跑飞问题排查被打赏50分 | |
多组DCTODC电源方案被打赏50分 | |
【我踩过的那些坑】STM32cubeMX软件的使用过程中的“坑”被打赏50分 | |
新手必看!C语言精华知识:表驱动法被打赏50分 | |
【我踩过的那些坑】杜绑线问题被打赏50分 | |
【我踩过的那些坑】STM32的硬件通讯调试过程的“坑”被打赏50分 | |
【我踩过的那些坑】晶振使用的问题被打赏100分 |