自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (2)
  • 收藏
  • 关注

转载 数据段、代码段、BSS段、堆栈段

进程(执行的程序)会占用一定数量的内存,它或是用来存放从磁盘载入的程序代码,或是存放取自用户输入的数据等等。不过进程对这些内存的管理方式因内存用 途 不一而不尽相同,有些内存是事先静态分配和统一回收的,而有些却是按需要动态分配和回收的。对任何一个普通进程来讲,它都会涉及到5种不同的数据段。Linux进程的五个段下面我们来简单归纳一下进程对应的内存空间中所包含的5种不同的数据区都是干什么的。BSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文.

2021-09-11 17:51:53 3502 2

原创 sizeof,strlen,数组,指针各种情况辨析

话不多说,直接上代码#include<stdio.h>int main(){ char a[1]; char b[0]; printf("%d,%d\r\n",sizeof(a),sizeof(b));//1,0 int c[1]; int d[0]; printf("%d,%d\r\n",sizeof(c),sizeof(d));//4,0 char e[10]="abc"; printf("%d,%d\r\n",sizeof(e),strlen(e))

2021-09-09 15:40:52 140

原创 bss段和data段区别

bss段存放未初始化的变量data段存放已初始化的变量未初始化即某个变量未赋予初始值。

2021-09-02 10:50:39 877

原创 “编译”的总体过程

1.预编译gcc -E hello.c -o hello.i将#include和#define展开贴入文件2.编译gcc -S hello.i -o hello.s将**.c文件转化为.s**文件,将c语言文件转化为汇编语言文件。3.汇编gcc -c hello.s -o hello.o或者 as hello.s -o hello.o将.s文件转化为.o文件,将汇编文件转化为目标文件。4.链接将.o,.o连接成一个elf(全名为可执行和可链接格式(Executa

2021-09-02 10:44:49 104

原创 结构体内存计算:字节对齐

刚做完笔试题,碰到一个这样的题,查了资料巩固一下c语言在结构体定义内存计算中,涉及到字节对齐的概念,这与结构体成员中占内存最多的数据类型所占的字节数为标准有关,所有的成员在分配内存时都要与这个长度对齐。除此之外,还有结构体各成员顺序有关。下面举几个例子:int main(){ node xx; printf("%ld",sizeof(xx));}32typedef struct ll{ int n; char b[5]; double l; short a;}no

2021-08-31 21:25:48 85

原创 链表的创建、计数、逐个输出、删除特定值、插入某个值、排序

直接上代码:#include<stdio.h>typedef struct ll{ int data; struct ll *next;}node;node *creat(){ node *head,*p,*s; int x,cycle = 1; head = (node *)malloc(sizeof(node)); p = head; printf("input data:\r\n"); while(cycle) { scanf("%

2021-08-31 15:42:12 86

原创 数据结构面试题整理

1.#include<stdio.h>void main(){ printf("%f\r\n",5); printf("%d",5.0001); return 0;}打印结果:0.000000920840988请按任意键继续. . .解析:因为5为int型,在32为系统中占有4个字节,%f为float型,会从stack中读取8个字节,导致内存访问越界。下面定义是否有问题:struct a{ int x:1; int y:2; int z:33;

2021-08-30 17:35:08 100

转载 锁相环(PLL),倍频器、分频器原理

废话不多说,直接开干锁相环原理由一个基准频率振荡器(晶体振荡器),相位频率比较器,VCO(电压控制振荡器),回路滤波器组成。晶振产生频率为fr的时钟,与VCO产生的fo的时钟同时传入相位频率比较器中进行比较,产生比较结果以脉冲波的形式传入回路滤波器,回路滤波器通过低频将脉冲波转变为直流低压VR,传入VCO对fo进行控制,形成反馈控制电路。当fr>fo时产生PD为正脉冲,VR变大,当fr<fo时,PD产生负脉冲波,VR减小,形成对fo的闭环控制,最终目的,是fo==fr。倍频器PLL

2021-08-29 10:53:39 17673

原创 c语言给任意字符串最后加一个结束符

尝试了几种方法:第一种:void main(){ char a[]={'1','s','a'}; printf("%s\r\n",a); printf("sizeof:%d\r\n",sizeof(a)); a[sizeof(a)] = '\0'; printf("%s\r\n",a);}输出:1sa蘰sizeof:31sa第二种:void main(){ char a[]={'1','s','a'}; printf("%s\r\n",a); printf("

2021-07-30 10:50:15 3819 1

原创 结构体中的定义函数指针并调用

例1://定义结构体atruct temp{ int a; void (*initial)();} //定义函数void func(void){ printf("hello world");}void main(){ temp ll; ll.initial = func; ll.initial();}打印结果:hello world例2:atruct temp{ int *a; void (*initial)();} void func(void)

2021-07-29 10:03:04 1204

原创 UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\xa0‘ in position 406

print(item) UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\xa0’ in position 406: illegal multibyte sequencepython 3.9进行爬虫学习时出现的问题。原因应该是解码问题,简体中文不能正常解码。方法:在主函数中加入:sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8') #改变标准输出的默认编码即

2021-07-14 10:11:27 126

原创 QT中 问题:no matching function for call to ‘widget::connect()‘

程序源码报错信息:解决办法:再.pro文件中加入CONFIG += c++11支持C++11即可。

2021-06-04 12:24:04 2166 1

原创 Ubuntu下NFS服务开启

1.sudo apt-get install nfs-kernel-server rpcbind等待安装完成,以后在用户根目录下创建一个名为“ 等待安装完成,以后所有 的东西都放到这个“ linux”文件夹里面,在“ linux”文件夹里面新建一个名为“ nfs”的文件夹2.sudo vi /etc/exports文档底部加入:/home/zuozhongkai/linux/nfs *(rw,sync,no_root_squash)3.重启NFS服务:sudo /etc/init.d/nfs-k

2021-03-02 10:12:36 490 1

原创 “安富莱“ad7606 ,hal库NE1转换成NE3移植

2021-01-12 21:51:02 341

原创 ## modelsim与quartus 2 联合仿真,出现Error loading design

**modelsim与quartus 2 联合仿真,出现Error loading design**第一次用quartus2和modelsim联合仿真,跟着野火的教程来,不过有不想跟他一摸一样,于是仿真文件名改成了sim_led,进行试验。结果:解决办法:仿真文件中tb_led改成与文件名一致,sim_led即可...

2020-11-19 20:44:58 2766 2

原创 C语言将一维数组转化为二维数组并返回

C语言将一维数组转化为二维数组并返回错误的:正确的:

2020-11-01 22:37:41 1688

原创 ## 按键触发外部中断,服务函数被多次调用

按键触发外部中断,服务函数被多次调用一开始多次尝试后,无论是在中断服务函数之前加延时还是之后加延时,都不行。最后开始检查代码,尝试设置引脚初始为高电平,终于成功。GPIO_InitStruct.GPIO_Pin = GPIO_Pin_3;GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT ;GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP;GPIO_Init(GPIOE, &GPIO_InitStruct);GPIO_Set

2020-09-08 21:51:15 1314

原创 STM32烧录程序出现“No target connected”,且同时出现定时器计时不准的问题

多次查找网上对于该问题原因分析,并尝试其解决方法无果。无意间被师兄指出,硬件电路设计错误:问题原因:晶振部分并联的电阻太小,一般需并联大电阻,或者无需并联也行。解决方法:直接去掉R2,问题解决总结经验:以后无论是设计电路还是哪方面,都需要自己查找资料最起码做到验证,不要完全相信与依赖的别人。...

2020-08-07 16:47:17 448

原创 2020-07-11

问题:串口命令不能连续发送原因:延时函数不能正常运行办法:换一个延时函数就好了总结:一步步排除问题,找到问题所在

2020-07-11 23:10:43 146

原创 控制欲与背叛

大禹治水,靠疏不靠堵。面对人心,亦是如此。一味的控制、要求他人只会暂时的堵住别人的心。唯有提升自己的魅力,才是长久之计。你若盛开,清风自来。别人背叛你,只能说明你你对他人吸引力不足,及时通过强制手段将人留在身边也只是暂时的,人心变了,一切也就没有了意义。太强的控制欲会适得其反。只有提升自己的吸引力才是王道。如果说非要有什么捷径,那就是投其所好。面对别人的背叛,当成是修炼自己气度的工具。没遇到一次背叛,顺便可以看一下自己心平气和的本事增长了多少。是否还会火冒三丈。...

2020-06-04 10:26:49 103

原创 用TIM3,CH1,PB4输出PWM不成功可能原因

**用TIM3,CH1,PB4输出PWM不成功可能原因**要注意失能JTAG,再原有的配置上加上:GPIO_PinRemapConfig(GPIO_Remap_SWJ_NoJTRST, ENABLE);即可。

2020-06-02 14:57:03 1403 3

基于labview,通过TCP连接STM32下位机并从中读取数据,进行解析之后再labview的示波器中显示

基于labview,通过TCP连接STM32下位机并从中读取数据,进行解析之后再labview的示波器中显示

2021-06-05

STM32H7+W5500(HAL).rar

修改调试了好几天,终于可以ping通,并且可以通过花生壳连接网络调试助手

2021-02-25

空空如也

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

TA关注的人

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