TIwilliam hill官网
直播中

刘丹

7年用户 1483经验值
私信 关注
[问答]

工程编译时出现的错误如何解决?

1、对应下图,在原C文件(GE_Interrupts.c)中添加了许多代码,然后编译时出现如下错误 ,请问如何解决?

2、C文件里不能使用STL,于是把C换成CPP文件,原代码不变,但是会产生如下的各种错误,是否可以避免呢?

回帖(3)

杨娟

2018-6-21 00:16:44
1 应该是memory不够,可以修改内存分布,将数据分配到外部memory;
2 c++需要在工程属性->advanced options->language options选中--cpp_default, --rtti,如下图所示。

在头文件中加上
#ifdef __cplusplus
extern "C" [
#endif
 function declare

#ifdef __cplusplus
]
#endif
                                                                          

举报

刘丹

2018-6-21 00:27:09
引用: zbb9612 发表于 2018-6-21 00:16
1 应该是memory不够,可以修改内存分布,将数据分配到外部memory;
2 c++需要在工程属性->advanced options->language options选中--cpp_default, --rtti,如下图所示。

1 应该是memory不够,可以修改内存分布,将数据分配到外部memory;
Andy请问怎么修改呢?可以教一下嘛>_<谢谢啦
举报

杨娟

2018-6-21 00:40:34
引用: huzp_bbs 发表于 2018-6-21 00:27
1 应该是memory不够,可以修改内存分布,将数据分配到外部memory;
Andy请问怎么修改呢?可以教一下嘛>_<谢谢啦

修改cmd文件就可以,调整section的位置,如下例子。
Cmd file:
MEMORY
[

SL2:                  o = 0x0C000000  l = 0x00200000       

]
 
SECTIONS
[

.TestSection      >    SL2

]
 
在代码中将指定变量放到指定section
#pragma DATA_SECTION(gTtestBuf,". TestSection ")
Uint8  gTtestBuf[1024];
关于cmd的说明参考compiler user guide SPRU187 5.3节。
                                                                          

举报

更多回帖

发帖
×
20
完善资料,
赚取积分