自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux——多线程编程

•。

2023-03-29 13:05:12 725

原创 Linux——进程间通信

父子进程间如何实现信息沟通,之前了解到的有:父进程创建子进程,子进程是从父进程那里copy某些数据过来。只是子进程子进程退出的时候,调用exit(0),然后父进程调用wait(status)等待子进程退出获取子进程退出状态信息,把退出码返回给父进程,可通过宏来读取退出码。还有的就是,exec族函数,如让A进程去启用B进程,A后面的代码就不跑了,去跑的。但综上都不是真正意义上的通信,真正的通信,通过一进程写入信息,二进程可以读取,二进程写入信息,一进程可以读取。

2023-03-28 15:01:27 787

原创 Java——GUI(图形用户界面)

AWT是用于创建图形用户界面的一个工具包,它提供了一系列用于实现图形界面的组件,如窗口、按钮、文本框、对话框等。在JDK中针对每个组件都提供了对应的Java类,这些类都位于iava.awt包中,接下来通过一个图例来描述这些类的继承关系,如图所示从图的继承关系可以看出,在AWT中组件分为两大类,这两类的基类分别是Component和MenuComponent。

2023-03-28 15:00:58 7424 2

原创 JAVA——GUI

其中,AWT是SUN公司最早推出的一套API,它需要利用本地操作系统所提供的图形库,属于重量级组件,不跨平台,它的组件种类有限,可以提供基本的GUI设计工具,却无法实现目前GUI设计所需的所有功能。随后,SUN公司对AWT进行改进,提供了Swing组件,Swing组件由纯Java语言编写,属于轻量级组件,可跨平台,Swing不仅实现了AWT中的所有功能,而且提供了更加丰富的组件和功能,足以满足GUI设计的一切需求。Container类表示容器它是一种特殊的组件,可以用来容纳其他组件。

2023-03-27 10:29:38 203

原创 Linux——进程

Linux进程

2023-03-27 10:24:29 93

原创 Linux——进程

程序是静态的概念,gcc xxx.c -o pro磁盘中生成的pro文件,叫做程序进程是程序的一次运行活动,通俗点的意思就是程序跑起来了,系统中就多了一个进程每个进程都有一个非负整数表示唯一的ID,叫做pid,类似身份证pid=0;成为交换进程(sweapper) 作用:进程调度pid=1;init进程 作用:系统初始化编程调用getpid函数获取自身的进程标识符 getppid获取父进程的进程标识符。

2023-03-21 14:06:33 155

原创 文件I/O

write()的返回值通常与count不同,因此需要循环将全部待写的数据全部写入文件。fd:读操作从文件的当前位移量处开始,在成功返回之前,该位移量增加实际读取的字节数。数,则每次写操作前,将文件位移量设置在文件的当前结尾处,在一次成功的写操作后,该。write()出错的常见原因:磁盘已满或者超过了一个给定进程的文件长度限制。write()调用成功返回已写的字节数,失败返回-1,并设置errno。关闭一个文件的同时,也释放该进程加在该文件上的所有记录锁。调用成功返回0,出错返回-1,并设置errno。

2023-03-14 20:39:08 52

原创 Linux主控 ——链表操作

在Linux内核里,大量使用了链表操作,list_head设备管理、驱动管理、内存管理、等待队列、中断资源·list_head使用。

2023-03-14 10:25:18 278

原创 C 语言条件编译

if 的用法#if、#elif、#else 和 #endif 都是预处理命令,整段代码的意思是:如果宏 _WIN32 的值为真,就保留第 4、5 行 代码,删除第 7、9 行代码;如果宏 __linux__ 的值为真,就保留第 7 行代码;如果所有的宏都为假,就保留第 9 行代码。这些操作都是在预处理阶段完成的,多余的代码以及所有的宏都不会参与编译,不仅保证了代码的正确性,还减小 了编译后文件的体积。这种能够根据不同情况编译不同代码、产生不同目标文件的机制,称为条件编译。

2023-03-13 11:20:34 549

原创 C 语言中几个预定义宏

预定义宏就是已经预先定义好的宏,我们可以直接使用,无需再重新定义。:表示当前源代码的行号;:表示当前源文件的名称;:表示当前的编译日期;:表示当前的编译时间;:当要求程序严格遵循。标准时该标识被赋值为。程序时该标识符被定义。

2023-03-13 10:42:28 149

原创 C 语言宏参数的字符串化和宏参数的连接

用来将宏参数转换为字符串,也就是在宏参数的开头和末尾添加引号。称为连接符,用来将宏参数或其他的串连接起来。可以发现,即使给宏参数“传递”的数据中包含引号,使用。仍然会在两头添加新的引号,而原来的引号会被转义。功能就是让输入的参数加上双引号变为字符串,

2023-03-13 10:31:40 1024

原创 C 语言预处理命令

而 函数是一段可以重复使用的代码,会被编译,会给它 分配内存,每次调用函数,就是执行这块内存中的代码。可以含任何字符,它可以是常数、表达式、if 语句、函数 等,预处理程序对它不作任何检查,如有错误,只能在编译已被宏展开后的源程序时发现。而 typedef 是在编译阶段由编译器处理的,它并不是简单的字符串替换,而给原有的数据类型起一个新的名字,将它作为一种新的数据类型。宏定义只是简单的字符串替换,由预处理器来处理;在宏定义中的参数称为“形式参数”,在宏调用中的参数称为“实际参数”,这点和函数 有些类似。

2023-03-13 10:01:14 97

原创 Linux主控程序

linux、Ubuntu、samba

2023-03-09 16:31:31 90

原创 Java——static关键字

static关键字

2023-03-08 16:20:18 97

原创 嵌入式面试题1

面试题

2023-03-08 16:17:29 4256 3

原创 Java——垃圾回收机制

Java——垃圾回收机制

2023-03-07 11:35:21 388

原创 Java—— this 关键字

Java—— this 关键字

2023-03-07 10:51:25 97

原创 Java——构造方法

Java——构造方法

2023-03-06 19:39:19 106

原创 C语言指针

C语言指针

2023-03-06 09:09:03 129

原创 回顾C语言——变量和数据类型

变量和数据类型

2023-03-04 20:01:37 105

原创 CC2530——lcd屏幕(ST7735S)

CC2530——lcd屏幕(ST7735S)

2023-03-02 11:54:50 1340

原创 CC2530——温湿度传感器DHT11

CC2530——温湿度传感器DHT11

2023-03-01 17:34:09 3279

原创 CC2530—MQ-2气敏式烟雾传感器

CC2530—MQ-2气敏式烟雾传感器

2023-02-27 20:59:47 1382 1

原创 CC2530-光敏传感器

CC2530-光敏传感器

2023-02-27 16:42:21 2469 1

原创 CC2530A/D转换

CC2530A/D转换,实例:将1/3的的电压值通过ADC转化为数字信号,再将其通过串口信号发送到PC

2023-02-27 09:52:35 2285

原创 gcc编译C语言环境搭配,notepad++编写C语言代码

gcc编译C语言环境搭配,notepad++编写C语言代码

2023-02-22 16:49:04 194

原创 链表(静态添加、动态遍历)

struct test{ int data; struct test *next;};void printLink(struct test *head){ struct test *p = head; while(p != NULL) { printf("%d ",p->data); p=p->next; } .

2021-06-27 11:35:10 102 2

原创 单链表的定义、插入

不带头结点typedef struct LNode{ int data; struct LNode* next;}LNode,*LinkList;bool InitList(LinkList &L){ L=NULL; return true;}void test(){ LinkList L; InitList(L); ...}

2021-06-19 18:19:32 154

原创 typedef关键字----数据类型重命名

使用方法: typedef (数据类型) (别名)例如:typedef int zhensghu;typedef int* zhengshuzhizheng;//int a;int* p;就可以写为:zherngshu a;zhengshuzhizheng b;

2021-06-19 17:28:01 431

原创 数据结构顺序表的基本操作—插入

#include <stdio.h>#include <stdlib.h>#define MaxSize 10typedef struct{ int data[MaxSize]; int length;}SqList;void InitList(SqList &L){ int n; L.length=0; printf("你想输入几个数据:\n"); scanf("%d",&n); if(n>=MaxSize) { pri.

2021-06-17 16:52:17 5254 2

原创 顺序表的动态分配

#include<stdio.h> //输入输出需要的头文件#include<stdlib.h> //mallc函数和free函数需要的头文件#define InitSize 10 //定义顺序表的初始长度typedef struct{ int* data; //动态分配数组的指针 int MaxSize; //顺序表的最大容量 int length; //顺序表的当前长度}SqList; //创建顺序表void In.

2021-06-15 17:03:55 329

空空如也

空空如也

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

TA关注的人

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