__far和__near的小问题

本随笔适用于瑞萨RL78/G12单片机开发

  在使用瑞萨CS+开发的时候,碰到了一个问题,同事同样的函数段能用,移植过来后发现不能用。

  经过排查,发现是__far和__near的问题。同事的工程编译时使用的是small-size优化,我使用的默认的normal-size优化,两种模式针对RAM和ROM地址使用的是不同的编译策略。

  

  在不调整优化模式的情况下,需要将函数原型、声明、调用还有对应的存储数组都确立为const __far uint16_t XXX。

  调整优化模式后,在调用时可以忽略这个问题。

+1s +1s +1s +1s +1s -----------------我的工作其实并不是程序员,我只是时间众筹机构一名微小的员工。
原文地址:https://www.cnblogs.com/PengH/p/6387162.html