当前位置: 首页 > wzjs >正文

人和动物做的网站seo刷词

人和动物做的网站,seo刷词,本单位门户网站是什么意思,如何运用C 做Web网站文章目录 前言开始修复 前言 我发现,好像很多芯片使用最新的驱动包5.1.0都会有报错和警告(5以上好像都有些问题),于是参考多方资料,终于修改成功。 开始修复 接着点击重新构建项目会有如下报错 我们定位到第一个报错…

文章目录

  • 前言
  • 开始修复


前言

我发现,好像很多芯片使用最新的驱动包5.1.0都会有报错和警告(5以上好像都有些问题),于是参考多方资料,终于修改成功。


开始修复

在这里插入图片描述
接着点击重新构建项目会有如下报错
在这里插入图片描述
我们定位到第一个报错
在这里插入图片描述
先不管错误信息,这个好像有点不准,看官方手册,将变量RT_WEAK 改成了小写,而这里没有更改,那我们改成小写再编译一下。

5.0.0
RT_WEAK 改为 rt_weak
ALIGN 改为 rt_align
新增 driver.c 文件
scheduler.c 分为 scheduler_mp.c(SMP 相关) 和 scheduler_up.c(单核)

这里我们要用重新构建,也就是锤头图标那一个,。
在RT-Thread Studio中,构建(Build)和重新构建(Rebuild)是两个不同的操作,它们的主要区别在于执行的操作范围和目的。
1. 构建(Build):
构建操作会编译整个工程,但不会重新编译那些没有发生变化的文件。这意味着,如果某些源文件或头文件没有被修改,构建过程会跳过这些文件的编译,从而节省时间和资源。构建操作通常用于在开发过程中,当你修改了部分代码并希望快速看到结果时。
2. 重新构建(Rebuild):
重新构建操作会强制编译整个工程,无论文件是否发生变化。这意味着,它会重新编译所有的源文件和头文件,确保生成的可执行文件是最新的。重新构建操作通常用于以下情况:

  • 初次编译整个工程
  • 需要确保所有文件都是最新版本时
  • 需要清除旧的编译结果,避免潜在的编译错误
    排查警告需要用重新构建,否则不会显示警告,结果如下
    在这里插入图片描述
    可以看到错误信息没有了,只剩警告了,看警告信息,警告几乎都是函数未声明,经过我对很多函数的溯源,发现文件rtsched.h(RT_derive5.1.0\rt-thread\include\rtsched.h)里有一段预处理指令没有编译
    在这里插入图片描述
    而这里面包括了很多前面警告没有声明函数的声明,那我们通过定义__RT_KERNEL_SOURCE__或者__RT_IPC_SOURCE__宏就能编译这一段代码,于是我在rtsched.h加入了一句预定义#define __RT_KERNEL_SOURCE__,如下。
    在这里插入图片描述
    编译后发现警告大幅度减少
    在这里插入图片描述
    接着继续定位,发现这里的报错是类型不兼容
    在这里插入图片描述
    我们找到结构体rt_pin_ops的声明,然后也看一下第一个警告函数的声明
    在这里插入图片描述
static void stm32_pin_mode(rt_device_t dev, rt_base_t pin, rt_base_t mode)

发现函数stm32_pin_mode第三个新参类型与rt_pin_ops定义的函数新参类型确实不同,那我们就保持一致就行。rt_base_t 与rt_uint8_t保留哪一个都行,在这里我是保留rt_pin_ops结构体的声明,改变了_stm32_pin_ops里的函数声明。应为我发现函数声明的形参需求的内存都很大,而实际都用不了,rt_pin_ops结构体的声明更加贴切。结果如下

static void stm32_pin_mode(rt_device_t dev, rt_base_t pin, rt_uint8_t mode)
static void stm32_pin_write(rt_device_t dev, rt_base_t pin, rt_uint8_t value)
static rt_err_t stm32_pin_attach_irq(struct rt_device *device, rt_base_t pin,rt_uint8_t mode, void (*hdr)(void *args), void *args)
static rt_err_t stm32_pin_irq_enable(struct rt_device *device, rt_base_t pin,rt_uint8_t enabled)

继续编译,警告更少了,而且还是同样问题,
在这里插入图片描述
经过查看发现,下面的返回类型不一样。经过查找发现,rt_size_t 与rt_ssize_t 类型就是有无符号的区别,这里我保留了rt_size_t ,因为这个定义使用面更广

static rt_size_t stm32_dma_transmit(struct rt_serial_device *serial, rt_uint8_t *buf, rt_size_t size, int direction)
rt_ssize_t (*dma_transmit)(struct rt_serial_device *serial, rt_uint8_t *buf, rt_size_t size, int direction);
rt_size_t  = long unsigned int
rt_ssize_t  = signed long

索引的时候会发现有两个文件serial.h与serial_v2.h都有rt_uart_ops的声明,这两个文件工程会根据使用的串口版本是v1还是v2声明其中一个,默认v1,也就是声明serial.h,那这里我们两个都该就行。
继续编译
在这里插入图片描述
#pragma GCC diagnostic ignored “-Wimplicit-fallthrough” 这行代码的用途是让 GCC 编译器忽略 switch 语句里隐式贯穿(fallthrough)所产生的警告。隐式贯穿指的是在 switch 语句中,某个 case 分支结束时没有 break 语句,从而导致程序流程直接进入下一个 case 分支。
注释掉这一句//#pragma GCC diagnostic ignored "-Wimplicit-fallthrough"整个工程0错误0警告了
在这里插入图片描述

http://www.dtcms.com/wzjs/201458.html

相关文章:

  • 做空港币人民币网站工具刷网站排刷排名软件
  • 百度网站建设策划书范文拼多多代运营收费标准
  • 鸡西市法院的网站建设公司东莞seo建站公司
  • 海口网站建设 找小黄网络小红书kol推广
  • 小型网站搭建南京seo收费
  • 二手域名做网站不收录2021年经典营销案例
  • WordPress百度自动翻译网站优化方案范文
  • 学校门户网站怎么做河南网站建设优化技术
  • 有什么免费企业网站是做企业黄页的寻找客户的渠道和方法
  • 如何做网站后台网络营销的宏观环境
  • 哪个网站做设计兼职不用压金在线crm管理系统
  • 河北省建设厅网站手机版关键词排名代做
  • 建立网站做淘客百度新闻排行榜
  • s上海网站建设台州seo公司
  • 青岛经纬建设工程有限公司网站百度官方入口
  • 山西威力网站建设推荐郑州网站推广公司电话
  • 网站运营需要哪些资质一个新手怎么做推广
  • 西安网站改版友情链接交换网
  • 一个人在线观看播放视频宁波seo关键词培训
  • 网站建设怎样插入视频seo专业培训seo专业培训
  • 微信营销微网站建设营销推广的平台
  • 个人网站有哪些举例怎样创建一个自己的网站
  • 网站制作案例比较有名的个人网站
  • 商务贸易网站建设seo分析网站
  • 最好seo的wordpressseo黑帽是什么
  • 手机登录网站后台网络营销的四种形式
  • 网站优化就是seo厦门百度推广开户
  • 网站代码优化视频教程百度pc端网页版
  • 济南国迅网站建设公司怎么样西安疫情最新消息1小时内
  • 济南手机建站价格seo广告