RTThread-Studio中,使用5.2.0版本默认配置生成工程,进行编译报警告的部分解决方法。

使用rtthread-studio创建工程,rtt版本为5.2.2,生成的工程不做任何修改,就大量报警告,比如如下:某个函数没有被提前声明。

这是rtsched.h文件在

这部分有如下定义,只有提前定义了__RT_KERNEL_SOURCE__或__RT_IPC_SOURCE__,源文件在引用rtsched.h文件后才能引用到这些调度文件。这一设置的目的,是保证核心调度函数不会暴露在用户面前。

所以针对该警告,不能将__RT_KERNEL_SOURCE__定义在rtsched.h头文件中。而是应该,哪里调用了这些报警告的函数,哪个源文件文件头(也就是在include头文件部分代码之前)定义__RT_KERNEL_SOURCE__,比如如下:

这样操作,可以解决部分内核调度函数调用,没有函数引用的警告。

对于后续的strlen部分警告,如下:

这是由于strlen没有提前声明。也就是需要引用string.h头文件,可以在board.h或者别的什么地方引用<string.h>,解决此警告。

在这之后,就可以保证初始工程0错误、0警告。

相关推荐
GeekArch1 天前
第5讲:嵌入式场景二范式决策树:什么情况快写、什么情况严写
人工智能·stm32·单片机·mcu·物联网·决策树·机器学习
不想努力只想躺平的菜鸟ing2 天前
2. UART与TTL UART、CMOS UART、RS232、RS422、RS485、tod
mcu
wuyk5555 天前
38.什么是C语言?从语法到工程落地的工程师视角解读
c语言·开发语言·stm32·单片机·mcu·51单片机
MounRiver_Studio8 天前
RISC-V IDE MRS2调试秘籍(三):通过栈帧可视化模块定位栈溢出、栈内存非法篡改等运行时错误
mcu·risc-v·代码调试
MounRiver_Studio9 天前
RISC-V IDE MRS2调试秘籍(一):通过Memory内存导出对比,锁定隐性内存异常代码
mcu·调试技巧·risc-v·代码调试
sramdram9 天前
灵动高性能32位MCU空调解决方案
单片机·嵌入式硬件·mcu·32位mcu
sramdram11 天前
低功耗MCU芯片电机控制专用
单片机·嵌入式硬件·mcu·低功耗mcu·mcu芯片
wuyk55513 天前
25. 函数指针表:用查表替代 switch-case,打造高效可维护的嵌入式状态机
c语言·stm32·单片机·mcu·51单片机
狂奔蜗牛(bradley)13 天前
嵌入式软件编程思想之事件驱动+表驱动状态机+事件参数+优先级FIFO
单片机·mcu
ifndef1 个月前
GPIO同时复用(ADC与TIM)
mcu