反映:suyong哥,库里好像有一处有错误

2019-07-15 17:52发布

如图额,在ADC那个文件里有一处编译有错误,难道是因为我没配置好吗?
suyongku.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
suyong_yq
1楼-- · 2019-07-15 17:59

在工程选项对话框的“C/C++”标签页下,把“C99 Mode”选项打开即可。 image_01.png 问题的根本原因在于,经典版本的C语言对数据类型有强制匹配的要求,使同样是一个数据类型,有const和没有const是完全不同的。而在C99标准里,对这个限制有放松,没有const修饰的变量类型也可以传给const修饰的函数参数。当声明函数参数的时候使用const,表示在该函数在内部不会修改这个传入参数的内容,是“只读的”。这个特性被用来保护内存不会在函数内部被意外地更改掉,特别是在使用指针作为函数参数时,使用const对指针所指向的内容进行保护,会大大提高程序的安全性。 当然,如果你遵循LiteFwLib推荐的“二段编译”流程,编译库的工程已经配置好了。而在你实际需要进行开发的应用工程中,即使没有打开这个特性,也是不会产生错误的,同时,仍可以享受到内存保护的特性。
suyong_yq
2楼-- · 2019-07-15 23:24


在工程选项对话框的“C/C++”标签页下,把“C99 Mode”选项打开即可。
image_01.png

问题的根本原因在于,经典版本的C语言对数据类型有强制匹配的要求,使同样是一个数据类型,有const和没有const是完全不同的。而在C99标准里,对这个限制有放松,没有const修饰的变量类型也可以传给const修饰的函数参数。当声明函数参数的时候使用const,表示在该函数在内部不会修改这个传入参数的内容,是“只读的”。这个特性被用来保护内存不会在函数内部被意外地更改掉,特别是在使用指针作为函数参数时,使用const对指针所指向的内容进行保护,会大大提高程序的安全性。


当然,如果你遵循LiteFwLib推荐的“二段编译”流程,编译库的工程已经配置好了。而在你实际需要进行开发的应用工程中,即使没有打开这个特性,也是不会产生错误的,同时,仍可以享受到内存保护的特性。
初代饭影
3楼-- · 2019-07-16 04:12
suyong_yq 发表于 2015-1-9 22:50
在工程选项对话框的“C/C++”标签页下,把“C99 Mode”选项打开即可。  问题的根本原因在于,经典版本的C ...

原来如此!虽然我听懂不怎么懂但就是这样弄就行了吧,suyong哥解答真详细~
初代饭影
4楼-- · 2019-07-16 07:46
本帖最后由 初代饭影 于 2015-1-9 23:06 编辑

已解决,是因为我未配置好的问题,现在可以了,结贴。suyong哥赞赞赞赞赞赞

一周热门 更多>