自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (1)
  • 收藏
  • 关注

转载 linux static变量地址输出至map文件

文转载自菜鸟编程的一篇公众号[转侵删]Linux 下 static 变量地址输出到 map 文件的方法。在 CMakeLists.txt 文件中设置编译参数:set(CMAKE_C_FLAGS “-fdata-sections”)set(CMAKE_CXX_FLAGS “-fdata-sections”)转载:菜鸟编程 bug复盘...

2021-07-21 10:02:35 329

原创 Leetcode 189.旋转数组

Leetcode 189.旋转数组给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。进阶:尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。你可以使用空间复杂度为 O(1) 的 原地 算法解决这个问题吗?-----------------------------------------分 界 线 ---------------------------------------------------------------前置数据: len = nums.size

2021-07-15 16:42:31 79

原创 利用MDK5编译器自带功能,在编译时输出一些自定义内容

利用MDK5编译器自带功能,在编译时输出一些自定义内容MDK5的编译器支持使用:#error:内容将以error的形式出现,编译会不通过。#warning:内容将以warning的形式出现,可通过编译。#message:内容在编译消息窗口展现,不产生warning和error。#define TEST1 1#define TEST2 1#define TEST3 1#if (TEST1 == 0)#message "TEST1 is disable."#else#message "T

2021-06-28 16:03:02 693 1

原创 函数指针如何加以const修饰

在项目中编写状态机时,想让其中动作函数指针定义成不可修改,以避免一些程序上的误操作导致不可预料的事情发生。想当然的直接定义:const void(*action)(void);声明action时并没有任何错误。但是在使用时产生了下列warning:问题显而易见,是因为初始化时,双方的类型不匹配导致的。本质上,也就是编译器并没有将const识别为action的类型,而是识别成了action指向的函数类型。原本的目的是想让action初始化后,不可修改,那么const直接修饰的应该是action。修改

2021-02-20 17:23:02 943

原创 MDK5编译报错:couldn‘t open source input file : xxx.o

最近碰到了无改动工程,仅更换至笔记本工作时,keil编译程序报错,错误都是以前在原工作环境下没有的,比如couldn’t open source input fileI/O error couldn’t write fileat end of XXX couldn’t write source file网上的说法有很多,比如重启软件与系统;更新系统环境变量;包含错误文件目录;这些我都试了一遍,最后发现是keil 破姐的序列号 过期了...

2020-12-09 15:39:42 255

原创 关于二维指针与malloc的问题

一般地:int *k = NULL;k = (int *)malloc(sizeof(int) * n);至此,如果分配成功,可以通过k来访问大小为n个int大小的内存空间。使用过数组之后,我们可以知道,数组名是可以代表数组整体的,而通过free(k)可以释放k对应内存空间,可以联想到:此时的k和数组名有同样的意义。---------------------------------------------------------------------------------------

2020-05-31 23:31:30 484

原创 Error: L6218E: UnDefined symbol xxxx(referred from xxxx)

Error: L6218E: UnDefined symbol xxxx(referred from xx.o)1.C源文件未添加至工程2.c源文件和头文件的路径未包含在工程3.xxxx缺少定义或声明4.在头文件处仅声明了inline(或其他形式的内联)。PS.在c文件内部定义的inline函数,想要在其他文件也使用这个函数,可以将实现位置转移到头文件中,即在头文件实现inline函数。...

2020-04-30 11:26:31 1629

原创 xPSR(Program Status Register)之APSR应用状态寄存器

APSR是程序状态寄存器中的应用状态寄存器,保存程序计算结果的状态标志。包含:N:负数标志。表示上一条指令的操作结果为负数。原理是获取结果寄存器的bits[31]。也即xPSR.N=bits[31]。xPSR.N == 1表示结果为负数,反之为非负数。Z:零标志。表示上一条指令的操作结果为0.C:进位/借位标志。表示在加法/减法运算中,产生了进位/借位。加法运算中 ,xPSR.C为1,表...

2020-03-05 22:37:34 8279

原创 C语言的-操作符(负号

1 根据The C programming Language(K&R C)描述,-操作符对a进行了提升整形类型(提升到了 signed int),所以以%d输出时相当于-(65535),此时65535为有符号int.-65535 也即1000 0000 0000 0000 1111 1111 1111 1111取反码+1得到原码1111 1111 1111 1111 0...

2020-03-02 10:36:04 3273

原创 快速排序-自我理解

快速排序快速排序的原理:(1)选择合适的枢纽,将序列分成两部分,枢纽左边的值都比枢纽值小,右边的值都比枢纽值大(2)然后将枢纽插入该序列(3)重复(1)~(2),直到序列元素个数为0或1时,结束。1.选择枢纽值一般都选择第一个元素为枢纽值,但这样会在某段已经排序好的序列进行快速排序时,将会发生不必要的排序。解决办法有两种,一种是采取随机选取枢纽值,这样就能很大程度上避免上述情况,但是...

2020-03-01 17:35:26 110

原创 浮点变量与零值比较问题

摘抄自:高质量C语言编程思想浮点变量与零值比较可将浮点变量用“==”或“!=”与任何数字比较。千万要留意,无论是float还是double类型的变量,都有精度限制。所以一定要避免将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”形式。假设浮点变量的名字为x,应当将if (x == 0.0) //隐含错误的比较转化为if ((x>=-...

2019-09-04 18:48:47 313

原创 Linux 内核源码Git链接

Linux 内核源码Git链接https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/refs/?h=linux-2.6.11.y

2019-09-03 11:44:30 373

转载 LeetCode刷题(1)--两数相加

题目:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -&g...

2019-05-15 21:17:26 96

MDK79525.rar

这个是官网下载的,自己下可能需要下很久.当你使用MDK5打开工程文档时,出现需要下载Legacy Support ARM7,ARM9 and Cortex-R时,用这个安装包就能解决

2019-08-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除