STM32——Keil5的编译警告和错误订正

2023-05-16

这是第一次写博客,这里都是我在修改stm32代码遇到的一些警告和错误的改正,其中有很多解决方法都是在网上找的,也有一些还没解决的,望指点。


#513-D …\HARDWARE\1U\src\Uart.c(1134): warning: #513-D: a value of type “char *” cannot be assigned to an entity of type "uchar "
p = strrchr(Command,’
’);
修改

#513 …\HARDWARE\src\uart.c(396): error: #513: a value of type “u8 *” cannot be assigned to an entity of type “uint8_t”
temp = USART2_RX_BUF;
修改

#1293-D …\HARDWARE\1U\src\Uart.c(1114): warning: #1293-D: assignment in condition(转让的条件)
……
if(p = strrchr(Command,’’))
{……}
修正:…….
p = strrchr(Command,’
’)
if§ {……}

#375-D …\1u\v2.3xe\API…/hal/si_hal.h(161): warning: #375-D: declaration requires a typedef name
};
修改:将有问题的变量,定义好

#1-D …\HEADER\head.h(49): warning: #1-D: last line of file ends without a newline
#endif
修改:在末尾添加空行

#9-D …\EDID\si_edid.c(483): warning: #9-D: nested comment is not allowed
/* Write to selected EDID ram. *
修改:(不允许嵌套注释)

#550-D …\API\si_api9187B.c(53): warning: #550-D: variable “l_stableHdcp1” was set but never used
static BOOL l_stableHdcp1[PortNumber] = {false};/Y/
修改:在定义的变量前添加volatile 修饰关键字
分析:1、定义的变量在下面代码中,执行函数并将函数返回值赋值给该变量,然而并没有使用该返回值;编译器对这种情况会做优化,分析出函数的返回值没有被使用,给变量附的值被编译器省略,于是只剩该变量,并没有使用变量
2、定义的变量没有使用,而且有同名的局部变量

#177-D …\EDID\si_edid.c(554): warning: #177-D: variable “temp” was declared but never referenced
uint8_t temp = 0;
修改:(定义了没有使用)注释该变量或删除,或使用该变量

#223-D …\HAL\Time.c(103): warning: #223-D: function “NOP” declared implicitly
NOP();
修改:1、在定义NOP()的*.c对应的*.h添加该函数的声明
2、不用可以注释或删除
3、在调用该函数的.c文件添加对应的.h头文件
4、在头文件的#ifndef _XXX_H——#define _XXX_H——#endif
有重复定义_XXX_H,修改_XXX_H名字就好

#128-D …\HAL\uart.c(43): warning: #128-D: loop is not reachable(循环不可到达)
while(*str != ‘\0’){
修改:循环体有问题,不能执行下面的程序,
1、 修改循环条件
2、 删除循环后面的执行语句

L6218E XXX.axf: Error: L6218E: Undefined symbol xxx (referred from xxxx.o).
修改:1、寻找xxxx.o对应的.c/.s文件进行定义xxx或删除xxx
2、可能没有包含对应的.h文件
3、可能定义变量或函数的.c文件没有添加
4、调用的xxx变量或函数,而没有定义该变量或函数

#111-D main.c(175): warning: #111-D: statement is unreachable
return 0;
修改:这只是说函数不会执行到这里,这种情况是上面代码有while(1)

#188-D …\HARDWARE\INIT\Init.c(9): warning: #188-D: enumerated type mixed with another type(枚举类型与另一种类型混合)
|RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_AFIO, ENABLE);
修改:删除一个或将重名的更换另一个名字

#5 …\HARDWARE\TIME\time.h(16): error: #5: cannot open source input file “…/inc/datatypes.h”: No such file or directory
#include “…/inc/datatypes.h”
修改:找不到头文件,路径有问题或者是没有这个头文件

#256 …\SYSTEM\datatypes.h(20): error: #256: invalid redeclaration of type name “uint32_t” (declared at line 64 of “C:\Keil_v5\ARM\ARMCC\Bin…\include\stdint.h”)
typedef unsigned long uint32_t;
修改:重新定义了,所以注释掉或直接删除

#40 …\STM32F10x_FWBib\inc\stm32f10x.h(521): error: #40: expected an identifier
typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState;
修改:可能重复定义,将重复的注释或删除

#20 …\HARDWARE\TIME\Time.c(25): error: #20: identifier “uint” is undefined
uint Updata_Time;
NVIC_InitStructure.NVIC_IRQChannel = TIM8_CC_IRQn;
修改:1、没有定义这个关键字
2、可能是该变量里面的成员没有定义
3、在.c中定义了,.h添加extern
4、没有包含对应头文件
5、有定义这个关键字和包含了该定义的头文件,还会出现编译错误
6、“XXXXX”定义了,也在对应的头文件中声明了,在引用的文件中也引用了对应的头文件,这个就非常奇怪了,后来遇到了一种情况就是,这个声明头文件有问题,一般头文件开头,都要使用#ifndef __XXXX_H #define __XXXX_H,这样做的目的是为了防止多个头文件的存在,需要注意的是这里的__XXXX_H中的XXXX一定要跟这个头文件的名称一致,否则,这个头文件就是失败的,错误的,那么引用的时候,自然也会引用错误了。(这里来自:https://blog.csdn.net/ARM_Tutor/article/details/38333207)

#47-D …\HARDWARE\HAL\hal.h(236): warning: #47-D: incompatible redefinition of macro “Close_Uart1” (declared at line 60 of “…\HARDWARE\UART\uart.h”)
#define Close_Uart1() {UCSRB &= 0x6F;UCSRA &= 0x7F;}
修改:宏不兼容重新定义,即定义了两次或两次以上,修改名字或注释其中一个或删除一个

#147 …\HARDWARE\TIME\time.h(86): error: #147: declaration is incompatible with “uint16_t RX1_Erase” (declared at line 20)
extern unsigned int RX1_Erase ;
修改:(声明不兼容)可能存在重复定义,将其中一个注释就编译成功

#940-D …\HARDWARE\UART\Uart.c(268): warning: #940-D: missing return statement at end of non-void function “Uart1_Handler”
}
修改:缺少返回值

L6200E .\Objects\StmHdmi0404Main.axf: Error: L6200E: Symbol Reset_Flag_Bit multiply defined (by variable.o and hal.o).
修改:Reset_Flag_Bit多出定义,在variable.o and hal.o存在,修改:去掉赋值部分(我的是直接删除其中一个)
可能存在现象:应该是定义变量定义在头文件,修改:头文件的删除,在对应.c文件定义
定义的变量需要在其它.c/.h使用,.c中定义了,修改:需要添加extern

#137 …\HARDWARE\UART\Uart.c(469): error: #137: expression must be a modifiable lvalue
Mail_ACK_Low();
修改

#550-D …\HARDWARE\IIC\iic.c(3): warning: #550-D: variable “Port_SDA” was set but never used
static uint8_t Port_SDA,Port_SCL,PIN_Sda,PIN_Scl;
修改:变量已设置,但没有使用,可以改为定义时加上volatile

#247 …\HARDWARE\IIC\iic.c(183): error: : function “IIC_Write_Byte” has already been defined
uint8_t IIC_Write_Byte(uint8_t str)
修改:重复定义了函数

#1295-D …\HARDWARE\TIME\time.h(114): warning: #1295-D: Deprecated declaration NOP - give arg types
void NOP();//10
修改:无参函数NOP(),声明时括号缺少void关键字

L6304W …\HDMI1602_Firmware\SiI9687_1_4.axf: Warning: L6304W: Duplicate input file …\hdmi1602_firmware\main_1.o ignored.
Program Size: Code=52680 RO-data=5472 RW-data=1876 ZI-data=7356
修改

#136 main.c(135): error: #136: struct “” has no field “GPIO_OType”
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
修改:

L6236E .\Objects\project.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST.
Not enough information to list image symbols.
Not enough information to list the image map.
修改

#69-D main.c(58): warning: #69-D: integer conversion resulted in truncation(整数转换导致截断)
Led_Refresh_En(250,60000);
修改:个人猜测应该是括号里的数据超出定义类型的范围

#31 main.c(73): error: #31: expression must have integral type
switch(USART2_IRQHandler())
修改:switch括号里的变量要整型数

#268 …\HARDWARE\src\uart.c(196): error: #268: declaration may not appear after executable statement in block
uint8_t USART2_Handler(void) //串口2中断服务程序
修改:该函数缺少了“}”,在第196行前加上,一般#268与#67一起出现
修改:声明在执行语句后,将声明语句放到最前

#67 …\HARDWARE\src\uart.c(196): error: #67: expected a “}”
uint8_t USART2_Handler(void) //串口2中断服务程序
修改:在第196行前面少了“}”
当#7 #67 #40一起出现时,存在中文符号,修改后还存在#7 #29 #2969-D,我的是将后面的换行符删除,就是格式不正确导致的现象,我也不太清楚,因为代码的上一行和下一行可以使用换行符的
原:0x20, 0xF8, 0x14, 0xFB, 0x98, 0xB9, 0x57, 0x00, 0xC0, 0x09, 0x14, 0xFB, 0x05, 0x00, \
改:0x20, 0xF8, 0x14, 0xFB, 0x98, 0xB9, 0x57, 0x00, 0xC0, 0x09, 0x14, 0xFB, 0x05, 0x00,

#109 …\HARDWARE\src\uart.c(131): error: #109: expression preceding parentheses of apparent call must have (pointer-to-) function type(显式调用前括号的表达式必须具有(指针到-)函数类型)
data=Check_Mail_ACK();
修改

#42 headware\simulation_uart.c(94): error: #42: operand types are incompatible (“uint16_t” and “uint8_t *”)(操作数据类型不兼容)
if(USART_ReceiveData(USART2) == buf)
修改:需要强制转换成另一个类型

#7 main.c(32): error: #7: unrecognized token
CUart_Simulation_Print(0, 0xFF, 0xFF);
修改:存在不可见字符,中文字符等,找到该行修改或删除

#224-D …\HARDWARE\src\uart.c(398): warning: #224-D: the format string requires additional arguments
printf("RX Msg:%s\r\n"USART2_RX_BUF);
修改:格式字符串需要额外的参数

#18 …\HARDWARE\src\uart.c(398): error: #18: expected a “)”
printf("RX Msg:%s\r\n"USART2_RX_BUF);
修改:括号前缺少东西

#181-D …\HARDWARE\src\uart.c(399): warning: #181-D: argument is incompatible with corresponding format string conversion
printf(“process msg:%s %d\r\n”,&Process_ptr,&Process_ptr);
修改:参数与相应的格式字符串转换不兼容

#2548-D main.c(22): warning: #2548-D: multicharacter character literal (potential portability problem)
uchar buf[5] = {‘0xff’,‘0x01’,‘0x0a’,‘0xa0’,‘0x80’};
修改:表达式错误

#29 main.c(22): error: #29: expected an expression
u8 buf[6] = {};
修改:表达式错误,根据这种情况可修改为u8 buf[6] = {0}; / u8 buf[6];

#144 main.c(102): error: #144: a value of type “char *” cannot be used to initialize an entity of type “const uint8_t”(不能使用类型为“char *”的值初始化类型为“const uint8_t”的实体)
const uint8_t buf[6] = {“0xe1”,“0xff”,“0x0a”,“0xa0”,“0x01”,“0xaa”};
修改:我这里可能修改为const uint8_t buf[6] = {0xe1,0xff,0x0a,0xa0,0x01,0xaa};

#32 …\HARDWARE\src\uart.c(166): error: #32: expression must have arithmetic type
printf(“Show The Receive Msg:%02x-%02x-%02x-%02x-%02x-%02x\r\n”,(Receive_ptRX1-6)(Receive_ptRX1-5)(Receive_ptRX1-4)(Receive_ptRX1-3)(Receive_ptRX1-2)(Receive_ptRX1-1));
修改:(表达式具有算术类型),这里是缺少逗号
rintf(“Show The Receive Msg:%02x-%02x-%02x-%02x-%02x-%02x\r\n”,
(Receive_ptRX1-6),(Receive_ptRX1-5),(Receive_ptRX1-4),(Receive_ptRX1-3),(Receive_ptRX1-2),(Receive_ptRX1-1));

#12-D …\USER\stm32f10x.h(472): warning: #12-D: parsing restarts here after previous syntax error
} IRQn_Type;
修改
与#67同时出现:
1、(程序使用的芯片换成比原来flash小的芯片)找到STM32F10X_HD,将STM32F10X_HD里面的内容注释或删除
2、(程序使用的芯片换成比原来flash大的芯片)找到STM32F10X_MD,将STM32F10X_MD里面的内容注释或删除
与#65同时出现:
在错误行缺少”;”字符,应该是出现的do{}while();的while后面

#186-D …\HARDWARE\src\Infrared-Timer3.c(120): warning: #186-D: pointless comparison of unsigned integer with zero(无符号整数与零的无意义比较)
if((bHex>=0)&&(bHex<=9))
修改:bHex为无符号整型,“bHex>=0”没意义,可以改为if(bHex<=9)

#167 …\HARDWARE\src\Infrared-Timer3.c(326): error: #167: argument of type “uint32_t” is incompatible with parameter of type “uint8_t *”(声明不能再执行语句后面)
USB_TxWrite(ir_data,300);
修改: 1、将执行语句放到声明语句后面
2、指针类型不匹配,修改变量类型或强转

#2969-D …\HARDWARE\src\Infrared-Timer3.c(135): warning: #2969-D: “” followed by white space is not a line splice
修改:将“”里面的符号删除

#1514 …\HARDWARE\src\Infrared-Timer3.c(121): error: #1514: an empty initializer is invalid for an array with unspecified bound
u8 irtestbuf[]={};
修改:初始化无效,我这里可改为u8 irtestbuf[]={0}; 或 u8 irtestbuf[2];

#11-D …\HEADWARE\init\init.c(1): error: #11-D: unrecognized preprocessing directive
#inclucde “init.h”
修改:关键字写错,我这里可改为#include “init.h”

#159 main.c(18): error: #159: declaration is incompatible with previous “flash_test” (declared at line 15)
void flash_test(void)
修改:该函数的使用在定义或声明函数的前面

#28 main.c(132): error: #28: expression must have a constant value
uint8_t Temp_Data[array_one][200] = {0};
修改:表达式必须有一个常量

#42 …\HEADWARE\EXTI\EXTI.c(165): error: #42: operand types are incompatible (“uint32_t *” and “int”)
for(i=0; i<800 && (uint32_t *)SendBuf[i]!=0xffff; i++)
while(read_buf[i++] != “P”);
修改:1、#42、#167、#148一起出现时,修饰变量的关键字不对应,出现严重的错误
2、第二条错误,引用号修改为’P’

#148 …\HEADWARE\USBProcess\USBProcess.c(11): error: #148: variable “cCONE_Reack” has already been initialized
uint8_t cCONE_Reack[] = “PTN001202CONE10----79END”;
修改

#852 …\HEADWARE\flash\flash.c(46): error: #852: expression must be a pointer to a complete object type
*(uint32_t *)&ReadBuf[i] = (__IO uint32_t)addr_start;
修改

#81 …\HEADWARE\EXTI\EXTI.h(17): error: #81: more than one storage class may not be specified(不能指定多个存储类)
extern static u8 irLearnStatus;
修改:extern 和static 不能同时存在,删除其中一个

#165 …\HEADWARE\USBProcess\USBProcess.c(86): error: #165: too few arguments in function call
if(‘P’==buf[0] && ‘T’==buf[1] && ‘N’==buf[2] && (strstr((const char *)buf锛?40PRES")))
修改:当#7、#20、#165、#18一起出现时,说明这行代码出现中文符号,将之修改即可

#175-D …\HEADWARE\USBProcess\USBProcess.c(245): warning: #175-D: subscript out of range
send_buf[197] = ‘E’;
修改:数组下标超出范围,修改数组大小或,将赋值的数组下标修改,删除….

#170-D …\HEADWARE\USBProcess\USBProcess.c(235): warning: #170-D: pointer points outside of underlying object
CharToHLChar(chesksum,(u8 *)(send_buf+195));
修改:指针指到数组外部,将数字改小或将数组下标加大

#951-D main.c(6): warning: #951-D: return type of function “main” must be “int”
void main(void)
修改:main函数返回必须是int类型

#767-D …\HEADWARE\USBProcess\USBProcess.c(289): warning: #767-D: conversion from pointer to smaller integer
CharToHLChar((char )acount_len,(u8 *)send_buf+193);
修改

#1441-D …\HEADWARE\USBProcess\USBProcess.c(298): warning: #1441-D: nonstandard cast on lvalue
(u8 *)send_buf[193] = acount_len[0];
修改:非标强制转换

#259 …\HEADWARE\USBProcess\USBProcess.c(147): error: #259: constant value is not known
u8 read_buf[len];
修改:常数值未知,将定义的常量赋初值

#92 …\HEADWARE\DataAnalyze\DataAnalyze.h(4): error: #92: identifier-list parameters may only be used in a function definition
void analyze_data(total_len,read_buf);
修改:标识符列表参数只能在函数定义中使用

#65 …\HEADWARE\USBProcess\USBProcess.c(160): error: #65: expected a “;”
for(i = 0; i < total_len; i++)
修改:缺少“;”字符

#37 …\HARDWARE\src\uart.c(23): error: #37: the #endif for this directive is missing
#if EN_USART2_RX //如果使能了接收
修改:#endif缺失,前面有#if等语句

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32——Keil5的编译警告和错误订正 的相关文章

  • petalinux 2020.2 离线编译

    链接 xff1a https www xilinx com support download index html content xilinx en downloadNav embedded design tools html 2 在ub
  • qemu镜像转化

    qemu img convert f raw redhat6 7 kvm postgresql9 2 3 8disk pulsar2 2 O qcow2 redhat6 7 kvm postgresql9 2 3 8disk pulsar2
  • brew install 慢的解决方法

    brew install 慢的原因 brew install 会先去执行 brew update 而 brew update xff0c 会依次更新 brew homebrew core homebrew cask 而以上三个的来源都在 g
  • 在linux ubuntu18.04版本中安装ceres solver

    在linux ubuntu18 04版本中安装ceres solver 本文是参照ceres solver的官方网站的按照教程来写的 xff0c 并对其做了适当的修改以便能成功安装 ceres官方教程链接为http www ceres so
  • KITTI Odometry dataset中00-21系列的相机内参设置

    一些声明 见data odometry calib文件夹中的calib txt文件 xff0c 其中P0表示左边灰度相机的3 4内参矩阵 xff0c P1表示右边灰度相机的3 4内参矩阵 依据这两个矩阵 xff0c 求解 f x f x f
  • CMakeLists.txt模板+常用库头文件添加和库文件链接+调用头文件

    CMakeLists txt模板 声明要求的cmake最低版本 span class token function cmake minimum required span span class token punctuation span
  • CLion 乱码 中文编码设置(UTF8、GBK)(Windows、WSL)——持续更新ing

    目录 问题描述解决方案一 xff1a CLion的简单设置见证奇迹 博主使用CLion如果里面有中文经常会遇到输出乱码问题 xff0c 本篇博文将告诉你多种问题的解决方案 问题描述 我们新建一个CLion工程 xff1a span clas
  • GRUB(bootloader)

    GRUB grub legacy版本 grub 0 x xff1a grub legacy Centos 5 6 stage2及内核等通常放置于一个基本磁盘分区 boot分区 配置文件 xff1a boot grub grub conf g
  • ROS实践(1)-环境搭建

    一 介绍 ROS官网 xff1a http www ros org ROS中文社区 xff1a http www robotos net forum php ROS版本 xff1a ROS的版本名称是按字母顺序E F G H I J排列的
  • ROS实践(6)-自建示例

    一 单topic 1 初始化环境 创建路径 dev mytest xff0c 并加入环境变量 xff1a root 64 yangkai04 Inspiron 3650 dev pwd root dev vim bashrc export
  • Python Django之密码的加密和解密

    通过django自带的类库 xff0c 来加密解密很方便 xff0c 下面来简单介绍下 xff1b 导入包 xff1a code class sourceCode python hljs span class im span class h
  • KCU105 XDMA 测试

    rdf0307 kcu105 trd03 2017 3 kcu105 axis dataplane hardware vivado scripts ug920 kcu105 pcie streaming data plane trd pdf
  • Ubuntu 配置 boa 服务器

    原文 xff1a http www linuxidc com Linux 2011 08 39780p3 htm Ubuntu上编译使用boa服务器的教程文章 xff0c 已经有很多了 xff0c 博客上也有很多人写了 xff0c 我就不赘
  • 阿里云docker方式搭建CAS服务端-最新版

    现在网上查到的CAS服务端搭建方式都比较老 xff0c 坑也很多 docker镜像直接使用官方的 xff0c 便于今后无缝升级 cas现时点最新版本为6 3 1 创建工作目录 mkdir home cas 以下操作都在该目录下执行 2 生成
  • 0、清华大学开源软件镜像站linux系统镜像下载地址

    https mirrors tuna tsinghua edu cn
  • 使用SSH公钥(id_dsa.pub)实现免密码登录

    使用SSH公钥 id dsa pub 实现免密码登录 博客分类 xff1a linux shell ssh 免密码 公钥 首先 xff0c 在本地机器上产生公钥 xff1a Java代码 root 64 localhost ssh ssh
  • 6.1、startx命令怎么不能进入图形界面

    命令行界面输入startx命令怎么不能进入图形界面 复制链接 发表于 2010 1 29 12 55 来自 51CTO网页 只看他 楼主 我在虚拟机 xff08 vmware xff09 上新安装的red hat linux 9 0在命令行
  • 7.1、mysql mha 主从自动切换 高可用

    是这个博主写的 xff0c 但是找不到地址了 写了他的另一个MHA地址 感谢原创的贡献 mysql mha 主从自动切换 高可用 mha xff08 Master High Availability xff09 目前在MySQL多服务器 x
  • 7.3、mysql主主循环备份数据库

    绿色部分是我根据需要自己写的 mysql 主主互备 双机热备的概念简单说一下 xff0c 就是要保持两个数据库的状态自动同步 对任何一个数据库的操作都自动应用到另外一个数据库 xff0c 始终保持两个数据库数据一致 这样做的好处多 1 可以
  • 7.4、Slave_SQL_Running: No mysql同步故障解决方法

    Slave SQL Running No mysql同步故障解决方法 2010 02 21 16 31 30 标签 xff1a mysql 数据库 同步 双机 休闲 原创作品 xff0c 允许转载 xff0c 转载时请务必以超链接形式标明文

随机推荐

  • 7.5、mysql破解密码

    找不到原创了 xff0c 百度了一下 xff0c 这个比较像 感谢原创的贡献 vi etc my cnf 在配置文件中加入 s kip grant tables mysqld safe skip grant tables amp 最佳答案
  • Scrum实践系列之三--敏捷教练的修炼之路

    敏捷教练与项目经理 在被奉为 项目管理圣经 的PMBOK中 xff0c 对项目经理在各阶段的职责有着清晰的界定 xff0c 比如项目经理制定规则 安排进度 监控执行中的各项风险并实时汇报状态 xff0c 等等 然而在敏捷的世界里 xff0c
  • 知识图谱_概述:课程PPT+个人理解

    2019 05 08 一 概念 xff08 是什么 xff09 1 知识 xff1a 有不同的解释 xff0c 可以是 不变的真理 经验 背景 解释 交工的信息 xff08 1 xff09 分类 陈述性知识 gt 描述客观事物的性状和关系等
  • chatgpt

    transformer GitHub Topics GitHub
  • Apollo:source cyber/setup.bash的作用

    source cyber setup bash 是在使用Apollo开发过程中 xff0c 用于加载Apollo软件的配置以及环境变量的脚本 Apollo是一款自动驾驶开发平台 xff0c cyber是其中的一个核心模块 xff0c 提供了
  • 什么样的人当不好程序员?

    什么样的人当不好程序员 xff1f 2016 01 21 程序员之家 来源 xff1a 36Kr 译文 xff1a http 36kr com p 5042433 html 原文 xff1a https goo gl jLfUFq 软件蚕食
  • java基础语法(顺便回顾cpp语法并比较与java的异同)

    变量 标识符 关键字与数据类型 1 标识符命名风格约定 xff1a 不能以数字开头 xff0c 也不能有 等符号 可以有 和 但不用作开头 方法名 变量名首单词小写 xff0c 其余单词首字母大写 如anyVariableName 类名 接
  • 刷leetcode,锻炼编程能力(c++)

    力扣20 xff0c 有效的括号 xff0c 栈 span class token macro property span class token directive keyword include span span class toke
  • 华为笔试题库之困难--难度

    题记 xff1a 若立志投身算法研究 xff0c 可精研理论算法 xff1a 动态规划 递归 深度搜索等 xff1b 若以解决问题为目的 xff0c 主要为了工作内容 xff0c 当尝试快而简单的方法 xff0c 这该是学习的本意 1 素数
  • C++ - opencv应用实例之矩形框检测

    C opencv应用实例之矩形框检测 现阶段下 目标检测在实际应用场景中的表现颇为重要 工业质检 移动机器人视觉伺服 作业 交通监控 安防领域等均需要通过目标检测来实现对目标的定位 测量或者统计 辅助控制等 目前目标检测主要分为两个方向的发
  • cpp-5 : Depends: gcc-5-base (= 5.3.1-14ubuntu2) but 5.4.0-6ubuntu1~16.04.11 is to be installed

    在5 4 0 6ubuntu1 16 04 11 cpp 5 amd64 Xenial 16 04 Ubuntu上下载对应的版本 xff0c 国 内源的版本都是5 4 0 6ubuntu1 16 04 12 xff0c 最后一位是12 xf
  • Questasim SystemC 指令sccom

    QuestaSim sccom 10 6c 1 compiler 2017 09 Sep 15 2017 Usage sccom options CPP compiler options lt CPP files gt General Op
  • MacOS 安装curl和wget

    目录 1 什么是curl和wget1 1 curl1 2 wget1 3 curl和wget的区别 2 安装curl2 1 利用wget安装curl2 2 直接下载curl源码编译安装 推荐 3 安装wget3 1 利用Homebrew安装
  • linux tty core 源码分析__tty_read,__tty_write,__tty_poll,

    转载 xff1a http blog csdn net sirzjp article details 6134489 前面分析了open操作 xff0c 现在分析读操作tty read tty read直接调用线路规程中的读操作从tty g
  • D触发器二分频电路

    D触发器二分频电路 有时真的要感慨一下自己电路学的够烂的 xff0c 啥都不会 xff0c 做示波器要学习分频电路 xff0c 学呗 将D触发器的Q非端接到数据输入端D即可实现二分频 xff0c 说白了就是CLK时钟信号的一个周期Q端电平反
  • 自动驾驶系列(十)编写电动车ROS节点(刹车)

    一 硬件控制协议 对于不同的设备 xff0c 底层的通讯方式都不一致 xff0c 因此需要根据具体硬件具体分析 本系统 采用了1个CAN盒子控制转向 xff0c 1路DA控制油门 xff0c 另外一路DA控制刹车 1 xff0c 转向协议
  • 【Mapreduce】利用单表关联在父子关系中求解爷孙关系

    首先是有如下数据 xff0c 设定左边是右边的儿子 xff0c 右边是左边的父母 Tom Lucy Tom Jack Jone Lucy Jone Jack Lucy Mary Lucy Ben Jack Alice Jack Jesse
  • 【C++】Split

    如果要将类似 aa ss ff 的字符串按空格分割成一个个字符 xff0c Java C PHP或者python等其它语言写多的人 xff0c 就会认为split一个理应存在的方法 xff0c 实际上C 43 43 中并没有这个方法 xff
  • TX2模组镜像备份与刷机

    1 环境搭建 1 1 下载驱动包和根文件系统 进入https developer nvidia com embedded linux tegra r3251下载两个文件 xff0c L4T Driver Package BSP 和Sampl
  • STM32——Keil5的编译警告和错误订正

    这是第一次写博客 xff0c 这里都是我在修改stm32代码遇到的一些警告和错误的改正 xff0c 其中有很多解决方法都是在网上找的 xff0c 也有一些还没解决的 xff0c 望指点 513 D HARDWARE 1U src Uart