自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 stm32---1

将PC4配置成浮空输入。

2023-08-01 17:38:09 78

原创 sqlite3数据库

gcc 2-sqlite3.c -o 2-sqlite3 -lsqlite3

2023-07-22 17:10:24 69

原创 Linux 网络编程

2023-07-18 20:46:01 81

原创 linux 进程通信

一 进程间通信1.1 概念进程间由于其资源都是相互独立的,所以想要实现进程间通信就必须找到他们共享的资源(内核资源),通过读写内核资源来实现,进程间的通信1.2 分类1> 传统通信方式无名管道有名管道信号2> IPC第五代通信消息队列共享内存信号量套接字(网络通信)1.3 前提1> 单工:通信双方,一方只能接收,另一方只能发送2> 半双工:通信双方,同一时刻,一方只能接收,另一方只能发送。

2023-07-17 18:10:06 65

原创 linux-----进程||线程控制编程

其中0~3G为用户空间,3-4G称为内核空间(也称为进程的共享空间-->后序进程间通信使用)在Linux程序中,fork()会产生一个和父进程相同的进程,但子进程之后多会exec调用,在执行fork之后、exec之前,两个进程使用的是相同的物理地址空间,进程控制块:pc程序计数器,进程的状态,进程ID,堆栈信息等。当父子进程有更改相应段的行为发生时,再为子进程相应的段分配物理空间。也就是说,两者的虚拟地址空间不同,但其对应的物理空间是相同的。子进程的代码段、数据段、堆栈都是指向父进程的物理地址空间,

2023-07-10 23:03:00 132

原创 linux

原型:ssize_t write(int fd, const void *buf, size_t count);头文件:ssize_t read(int fd, void *buf, size_t count);原型:off_t lseek(int fd, off_t offset, int whence);原型:char *fgets(char *s, int size, FILE *stream);1> 行缓冲(标准输入(文件描述符:0)和标准输出(文件描述符:1))

2023-07-07 23:17:42 58

原创 linux-----------文件IO

原型:ssize_t write(int fd, const void *buf, size_t count);如果buf的长度大于count的值,则写入count大小的字节。所谓文件IO指的就是操作系统提供支持的API接口,以对文件的输入和输出。7 杂项(包括宏包和规范,如 man(7),groff(7))5> 文件描述符:是一个文件的代表,系统内部为结构体指针数组的下标。注意:如果buf的长度小于count的值,则会产生空洞文件。count:写入文件的字节个数(写入内存的最大字节个数)

2023-07-06 19:32:07 85

原创 linux-----静态库动态库的创建以及使用

L /home/hello/lib表示将/home/hello/lib目录作为第一个寻找库文件的目录,寻找的顺序是:/home/hello/lib-->/lib-->/usr/lib-->/usr/local/lib。-I /home/hello/include表示将/home/hello/include目录作为第一个寻找头文件的目录,寻找的顺序是:/home/hello/include-->/usr/include-->1.可执行文件的大小: 静态库 > 动态库 ---> 内存的使用效率。

2023-07-06 19:23:27 102

原创 linux------shell+makefile

2023-07-05 19:57:39 49

原创 Linux ------shell脚本

2023-07-04 20:56:25 50

原创 Linux-----------基本操作

inet6 地址: fe80::7155:9548:3b59:9433/64 Scope:Link。ens33 Link encap:以太网 硬件地址 00:0c:29:be:7c:6d。接收数据包:565 错误:0 丢弃:0 过载:0 帧数:0。发送数据包:262 错误:0 丢弃:0 过载:0 载波:0。接收数据包:719 错误:0 丢弃:0 过载:0 帧数:0。发送数据包:719 错误:0 丢弃:0 过载:0 载波:0。inet6 地址: ::1/128 Scope:Host。

2023-07-03 19:23:09 79

原创 linux操作系统----简介

1991年芬兰的赫尔辛基大学的Linus Torvalds(拖瓦兹,莱纳斯),起了Multics计划,让主机可以达成300个终端。Ken Thompson(汤姆森.肯),1969年8月,这哥们趁老婆不。他使用bash,gcc等工具写了一个内核程序,可以在386机器上运行,室的流传与数次改版,成为如今用C语言写成的Unics核心,也就。进程管理(程序的一次执行过程,进程的创建销毁调度等)由于汤姆森这哥们,写的这个系统是在太好用了,经过贝尔实验。2.ubuntu集成了大量的便捷的开发工具,易于开发,系统稳定。

2023-07-03 19:22:10 45

原创 数据结构------树

【代码】数据结构------树。

2023-06-30 18:50:13 35

原创 数据结构------队列

【代码】数据结构------队列。

2023-06-28 20:05:30 51

原创 数据结构--栈

【代码】数据结构--栈。

2023-06-28 19:51:54 34

原创 数据结构 -----单项循环链表

有头循环链表无头循环链表约瑟夫环有头无头

2023-06-27 20:41:44 53

原创 嵌入式(c)面试题积累

数组名是常量不可以被赋值,指针名是变量可以赋值;释放空间不删指针,使用后变为野指针,可以置零。

2023-06-21 16:41:57 45

原创 嵌入式(c)项目:分文件编写员工信息管理系统

【代码】嵌入式(c)项目:分文件编写员工信息管理系统。

2023-06-21 14:26:02 57

原创 嵌入式(c)双链表

2023-06-20 17:05:40 31 1

原创 嵌入式(c)单链表

定义指针结构体。

2023-06-20 16:52:27 64 1

原创 嵌入式(c)结构体

结构体的概念结构体的初始化和赋值结构体的申明方式结构体的字节对齐

2023-06-16 17:52:09 43

原创 嵌入式(c)指针

多级指针

2023-06-16 14:54:33 23

原创 嵌入式(c)指针2

【代码】嵌入式(c)指针2。

2023-06-15 17:49:54 46

原创 嵌入式(c)运算符优先级

自增减,取反,非,指针运算符。算术运算符的乘,除,取余。关系运算符,判断是否相等。逻辑运算符,优先级左边高。位运算符,优先级左边高。关系运算符,判断大小。

2023-06-14 20:27:04 69

原创 嵌入式(c)指针

【代码】嵌入式(c)指针。

2023-06-13 20:25:52 35

原创 嵌入式(c)自己封装字符串函数

【代码】嵌入式(c)自己封装字符串函数。

2023-06-12 20:25:54 68

原创 嵌入式(c)字符串函数

*字符数组:char buf[32];所谓字符数组,就是由一堆字符组成的数据类型字符串:由一堆字符组成并且以\0结尾字符串也被称为特殊的字符数组*///用一堆字符初始化字符数组//只会写前10个字节写入数组中//用一个字符串初始化字符数组//%s:输出一个字符串,从以buf为首地址,向后输出,直到遇到\0结束/**/i++)return 0;

2023-06-09 19:33:52 100

原创 嵌入式(c)排序算法

从第二个元素开始,将后一个元素依次跟前面所有的元素进行比较,选择一个合适。的位置插入,然后再将第三个元素依次跟前面所有的元素进行比较,选择一个合适。第二趟排序,将次大值交换至数组的倒数第二的位置。3.传缺省的数组 int p[],int length。排序为例,如果前面的元素比后面大,则交换之。通过一趟排序后,最大值交换至数组的末尾。的位置插入,如此循环,最终序列将整体有序。1.传指针:int *p,int length。思路:从第一个元素开始,两两进行比较,以升序。传指针 + 数组的长度。

2023-06-09 17:50:08 132

原创 嵌入式(c)

递归函数例题。

2023-06-08 20:17:15 32

原创 嵌入式学习(c)

printf("5分:%d个 2分:%d个 1分:%d个\n",i,j,k);\n",n,ret);设计一个函数,指定硬币总个数为n枚,列出所有满足条件的组合。在原数值的绝对值的基础上,连续进行除10运算,恰好在第n次除10后,结果为0。printf("1 ~ %d 之间有 %d 个1\n",n,ret);printf("%d 的二进制数有 %d 个1\n",n,ret);printf("差值为:%d\n", DiffValue);printf("请输入第一个日期:(以空格隔开):\n");

2023-06-07 20:57:47 155

原创 嵌入式学习(c)

负数方法:取反。

2023-06-07 20:20:20 49 1

原创 嵌入式(c)

学生成绩管理(switch语句)

2023-06-05 19:38:02 72 1

原创 嵌入式(c)

在C中,除了8bit的char以外,还有16bit的short,32位的int,64位long,当然具体要由编译器决定,可以通过sizeof来获取不同类型在内存中占用的字节数。结构体占用的内存大于等于所有成员占用的内存的总和(成员之间可能会存在缝隙),联合体占用的内存等于最长的成员占用的内存。常见的字节顺序有两种:大端(Big-endian)和小端(Little-endian),当然还有其他字节顺序,但不常见,例如Middle Endian。源码:1001 1000-->-24。补码:1011 1101。

2023-06-05 19:04:57 78 1

原创 嵌入式(c)输入输出函数&算数运算符&逻辑运算符&关系运算符

m 设置输入的宽度,如果输入的内容超过设置的宽度,原型:int puts(const char *s);例如:printf(“a = %d\n”,a);原型:char *gets(char *s);头文件:#include 头文件:#include 原型:int putchar(int c);头文件:#include 头文件:#include 头文件:#include 原型:int getchar(void);

2023-06-02 20:25:40 122

原创 嵌入式(c)

##23.6.1(c学习)#include /*/*左值:可以被修改的值称为左值等号左边的值称为左值右值:不可以被修改的值称为右值等号右边的值称为右值*/int main(void){int a = 10;a = 20;//20 = a;return 0;}#include #if 0基本数据类型:在内存中有固定的大小整形数据: char 字符型 1个字节short 短整型 2个字节int 整形

2023-06-01 20:20:26 173 1

原创 从0到嵌入式开发工程师

①形式参数:在函数定义中出现的参数,可以看做是一个占位符,它没有数据,只能等到函数被调用时接受传递进来的数据,所以成为形式参数,简称:形参。②实际参数:函数被调用时给出的参数,包含实实在在的数据,会被函数内部的代码使用,所以被称为实际参数,简称:实参。//参与编译,例如:版本的选择(32位/64位),操作系统的选择(linux/unix/win)栈空间和静态区的空间的分配,将.i文件生成.s(汇编文件)栈空间和静态区的空间的分配,将.i文件生成.s(汇编文件)原型: 函数名(形参1,形参2,…

2023-06-01 19:25:47 39

空空如也

空空如也

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

TA关注的人

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