我使用MPLABX 3.20与XC16 1.25。我的PIC是PIC24FJ128GA010,我与Explorer 16
开发板和MPLLAB REAL ICE
仿真器一起使用。如果编译器被配置为不使用遗留libc库,那么当我调用malloc()(或其任何相关函数)时,PIC崩溃并重新启动。如果编译器被配置为使用遗留libc库,那么对malloc()的调用就可以正常工作。程序在开发板上的第一个LED上调谐,然后调用malloc(),然后循环,在短时间延迟后闪烁每个后续LED。当项目被配置为文件& gt;ProjtProjksProtots & Gt;x16全局选项-&使用传统的LIBC时,程序工作。当这个盒子没有选中时,程序就崩溃了(只有第一个LED灯,然后昏暗,因为它一直复位)。我是微芯片的新手——这些都是初期的问题——所以请原谅我的无知。我有一个使用StrudUp()的函数,但没有使用“使用旧LIBC”选项,该函数是不可生存的。我知道它有静态变量,不是线程安全的,但是这里没有任何线程需要担心。那么,我缺少了什么?为什么MalCube()不起作用?我应该使用“传统的LIBC图书馆”来进行新的开发吗?感谢您提供的任何帮助。下面的代码。