自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Pycharm将python程序打包为exe文件

然后看本地项目文件夹,会有个新的文件包dist,点开发现,生成的exe文件就在这个文件夹下。原本生成的文件名称就是GUI.exe,我为了好分辨重命名了。pyinstaller -F -w 文件名.py。s1:在项目终端输入(注意要在自己的项目下)s2:在项目终端输入(注意要在自己的项目下)前提:我的文件只有一个,多个的还没有试过。

2024-06-11 17:46:52 460

原创 【Qt】零基础——学习记录

准备按照下面的顺序进行Qt的学习。

2023-06-05 17:11:15 176

原创 win11添加应用开机自启动

将要添加开机自启动的应用的。Windows 徽标键。从文件位置复制并粘贴到。

2023-03-23 16:51:53 1539 1

原创 夜曲编程Python体验课

这个计算过程中需要一些存储数据的“地方”,我们叫它变量整型就是整数的数据类型,用来表示整数的。整数在Python的世界中,和数学中的定义一样: 是正整数、负整数和零的统称,是没有小数点的数字。整型直接通过数字来表示,且无需添加引号。如果用来表示负数,可以在数字前添加一个负号(-)。跟字符串类似,我们也可以使用print()功能输出一个整型。

2022-11-30 10:14:29 3418

原创 keil打开别人的工程文件的相关问题解决(亲测成功!!!)

一、打开项目,project全是黄色三角感叹号二、版本太低,无法编译三、Error: CreateProcess failed, Command...四、keil无法生成.bin文件

2022-08-11 09:38:17 21237 3

原创 keil5的一些快捷键

BookmarkAll(标记所有),出现蓝色方框。ctrl+shift+F2,蓝色方框消失。1.查找(蓝色小方块)

2022-07-28 10:22:52 3063

原创 GD32学习2——流水灯

MDKkeil5.37MCU。

2022-07-27 15:22:47 4065 3

原创 GD32学习1——环境搭建keil5

项目问题,需要学习国内兆易创新的32系列芯片,项目要求的是GD32F407,但是收到的评估板是GD32F450,差不太多,进行学习,在此记录以便后面查阅。首先是环境问题,在兆易创新的官网下载程序例程发现,GD32Keil版本例程的工程是基于KeilMDK-5.25uVision5创建的,所以我安装了最新版本MDK5.37。...

2022-07-21 10:29:27 1549 2

原创 GD32开发板【GD32330C-START】RTC功能使用

在项目中增加一个RTC的显示功能,阅读官方技术手册发现, gd32本身自带RTC功能。GD32F330的RTC模块提供了一个包含日期(年/月/日)和时间(时/分/秒/亚秒)的日历功能。除亚秒用二进制码显示外,时间和日期都以BCD码的形式显示。RTC可以进行夏令时补偿。RTC可以工作在省电模式下,并通过软件配置来智能唤醒。RTC支持外接更高精度的低频时钟,用以达到更高的日历精度。 于是使用该功能进行时钟显示,通过串口进行配置,最后可以通过串口和OLED进行日期和时间的显示。 在工程

2022-07-14 09:22:16 2648 2

原创 exec族

头文件:<unistd.h> 功能:在一个进程中调用其他进程分类依据 l (list) 命令行参数列表 p (path) 搜素file时使用path变量 v (vector) 使用命令行参数数组 e (environment) 使用环境变量数组,不使用进程原有的环境变量,设置新加载程序运行的环境变量 ......

2022-07-07 11:55:24 165

原创 VMware 16 下安装Ubuntu 20.04 (超全!!!含安装包!!!)

目录一、下载二、安装VMware三、安装虚拟机四、安装ubuntu20.04五、安装vmware tools——解决ubuntu系统界面太小的问题VMware 下载链接:下载 VMware Workstation Pro | CNubuntu20.04镜像下载链接:Download Ubuntu Desktop | Download | Ubuntu 右击以管理员身份运行VMware的安装包,全部默认选择“下一步”或按需更改,自行选择更改软件的安装目录。需要注意的是最后一步,会提示你是否现在输入许可证秘钥,

2022-07-06 15:12:54 12075 13

原创 ubuntu下安装libevent(libevent-2.1.12-stable)含安装包

安装包链接:https://pan.baidu.com/s/1nK0oIQW9UbbZuALs7Qnaag?pwd=vno5提取码:vno5--来自百度网盘超级会员V4的分享1、依赖环境安装apt-get install perl g++ make automake libtool unzip2、编译zlib(进入存放压缩包的文件夹后执行下面命令)tar -xvf zlib-1.2.11.tar.gz --解压zlib-1.2.11.tar.zipcd zl...

2022-04-29 17:48:08 2505 3

原创 Linux 网络程序设计

一、TCP/IP理论基础1、协议栈、协议介绍、网络模型、数据封装Linux的优点之一就是在于它丰富而稳定的网络协议栈,其范围是从协议无关层(如通用的socket层接口和设备层)到各种网络协议的实现; 对于网络理论介绍一般采用OSI模型,但是Linux中网络栈的介绍一般分为四层的Internet模型 网络模型数据封装2、TCP/IP协议族TCP/IP 实际上一个协同工作的通信家族,为网络数据通信提供通路。为讨论方便可TCP/IP 协议组大体上分为三部分:Internet 协议(

2022-03-10 21:03:22 532

原创 子线程循环 3 次,接着主线程循环 6 次,接着又回到子线程循环 3 次, 接着再回到主线程又循环6 次,如此循环50次,试写出代码。

/************************************************************子线程循环3次,接着主线程循环6次,接着又回到子线程循环3次,接着再回到主线程又循环6次,如此循环50次,试写出代码。************************************************************/#include <stdio.h>#include <stdlib.h>#incl...

2022-03-10 19:50:52 327

原创 有四个线程1、2、3、4。线程1的功能就是输出1,线程2的功能就是输出2,以此类推.........现在有四个文件ABCD

/****************************************************************有四个线程1、2、3、4。线程1的功能就是输出1,线程2的功能就是输出2,以此类推现在有四个文件ABCD。初始都为空。现要让四个文件呈如下格式:A:1 2 3 4 1 2....B:2 3 4 1 2 3....C:3 4 1 2 3 4....D:4 1 2 3 4 1....****************************************...

2022-03-10 19:49:15 385

原创 编写一个程序,开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示;如:ABCABC….依次递推。

/************************************************************编写一个程序,开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示;如:ABCABC….依次递推。************************************************************/#include <stdio.h>#include <stdli.

2022-03-10 14:51:29 392

原创 Linux 多线程

一、线程理论基础1、定义线程( thread )技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者.传统的Unix也支持线程的概念,但是在一个进程( process )中只允许有一个线程,这样多线程就意味着多进程.现在,多线程技术已经被许多操作系统所支持,包括Windows/NT、Linux( thread )。2、优点(1)(与进程相比)①和进程相比,它是一种非常“节俭”的多任务操作方式。在Linux系统下,启动一个新的进程必须分

2022-03-07 21:45:21 2267 2

原创 Linux进程控制编程

一、理论1、定义进程是一个具有一定独立功能的程序的一次运行活动,执行中一段程序,即一旦程序被载入到内存中并准备执行,它就是一个进程。 是多任务管理方式 进程是表示资源分配的的基本概念,又是调度运行的基本单位,是系统中的并发执行的单位,是资源(CPU、内存)分配的最小单元; 即CPU和内存的分配以进程为单位。 系统进程:用于完成操作系统的各种功能的进程就是系统进程 用户进程:由用户启动的进程就是用户进程 2、命令行#ps -eo pid,ppid,comm,cm.

2022-03-03 21:35:33 1025

原创 创建数据库——SQlite3

#include <stdio.h>#include <sqlite3.h>#include <stdlib.h>//创建数据库int create_table(sqlite3 * pdb){ char *sql = NULL; char *errmsg = NULL; int ret; sql = "create table if not exists mytable (id integer primary key,name text);";.

2022-02-28 14:13:57 1758

原创 嵌入式数据库

数据库综述(文件保存优先选择,因为有格式)1、什么是数据库?数据库(DataBase,简记为DB)就是一个有结构的、集成的、可共享的统一管理的数据集合。它不仅包括数据本身,而且包括相关数据之间的联系。数据库技术主要研究如何存储、使用和管理数据;有结构——数据是按一定的模型组织起来的 数据模型可用数据结构来描述。 数据模型决定数据的组织方式、操作方法。 理解数据库的前提是理解数据模型。 现在的数据库多数是以关系模型来组织数据的。 可以简单地把关系模型的数据结构-关系理解成为一..

2022-02-27 21:13:05 342

原创 2022.1.19 C语言设计(第四版)谭浩强 Day3 第七章 用函数实现模块化程序设计

一、概述1、一个C程序由一个或多个程序模块组成,每一个程序模块作为一个源程序文件。对较大的程序,一般不希望把所有内容全放在一个文件中,而是将它们分别放在若干个源文件中,由若干个源程序文件组成一个C程序。这样便于分别编写和编译,提高调试效率。一个源程序文件可以为多个C程序共用。2、一个源程序文件由一个或多个函数以及其他有关内容(如指令、数据声明与定义等)组成。一个源程序文件是一个编译单位,在程序编译时是以源程序文件为单位进行编译的,而不是以函数为单位进行编译的。3、C程序的执行是从main函数开始

2022-02-26 16:23:59 998

原创 数据库——文件复制

#include <stdio.h>int main(){ FILE *fp; FILE *from; char ch; char p[20]="hello"; fp = fopen("test.c","r+"); from =fopen("copy2.c","w+"); if((fp=fopen("test.c","r"))==NULL) { printf("Cannot open test.c strike any.

2022-02-25 19:42:18 910

原创 输出三个hello

#include <stdio.h>#include <stdlib.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#define MAX 100int read_line(int fd, char *buf, int count){ int i; char ch; for(i = 0; i < count; i++) { .

2022-02-25 16:10:42 226

原创 系统调用实现文件复制

#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <sys/stat.h>#include <fcntl.h>#include <string.h>#include <errno.h>#define BUFFER_SIZE 1024 //缓冲区大小//实现文件内容的复制int main(int argc,char **.

2022-02-25 15:08:57 1092

原创 Linux文件编程

一、Linux系统调用及用户编程接口(API)errno(error+number)——错误代码,自动赋值当linux中的 api函数发生异常时,一般会将errno变量(需include errno.h)赋一个整数值,不同的值表示不同的含义,可以通过查看该值推测出错的原因1、系统调用操作系统提供给用户的一组“特殊”接口,用户程序可以通过这组“特殊”接口来获得操作系统内核提供的的服务系统调用并不是直接与程序员进行交互的,它仅仅是一个通过软中断机制向内核提...

2022-02-23 21:37:52 666

原创 排序——内部和外部

一、概述1、定义将文件中的数据记录按关键字值的递增或递减的顺序排列起来。 {R1, R2,..., Rn}→ {Ri1, Ri2,..., Rin} 其中关键字{k1, k2,..., kn}→有序序列{ki1, ki2,..., kin}2、排序方法的稳定性: 对于ki=kj的记录Ri=Rj( Ri在Rj之前), 排序后: Ri仍在Rj之前,则排序方法是稳定的; Ri在Rj之后, 则排序方法是不稳定的;...

2022-02-23 21:37:35 1356

原创 哈希表——根据函数和关键字key查找

哈希函数就是根据key计算出应该存储地址的位置,而哈希表是基于哈希函数建立的一种查找表。一、哈希函数1、构造方法 (1)直接定址法 哈希函数为关键字的线性函数如H (key ) =arkey+b。 (2)数字分析法 假设关键字集合中的每个关键字key都是由s位数字组成,分析key 中的全体数据,并从中提取分布均匀的若干位或他们的组合构成全体。 (3)平方取中法 如果关键字的每一位都有某些数字重复出现频率很高的现象,可以先求关键字的平方值,通过平方扩大差异,而后取

2022-02-23 21:36:49 2686

原创 数据结构——栈、队列

一、栈以及相关操作1、定义只允许在一端插入和删除的线性表; 允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom)。2、特点 后进先出(LIFO)3、主要操作ADT Stack //对象:由数据类型为StackData的元素构成{ int Push (stack *S, StackData x); //进栈 ...

2022-02-19 21:39:50 203

原创 栈——代码实现

#include <stdio.h>#include <stdlib.h>#define SIZE 10#define MALLOC_OK 1#define MALLOC_NO 0#define CREATE_OK 1#define CREATE_NO 0enum ret_val{FULL_OK=100,FULL_NO,EMPTY_OK,EMPTY_NO,PUSH_OK,PUSH_NO,POP_OK,POP_NO }; //枚举类型{枚举常量}//结构体类型,.

2022-02-19 15:41:49 453

原创 带表头双向循环链表——增删改查

#include <stdio.h>#include <stdlib.h>#define CREATE_OK 0#define CREATE_NO 1#define MALLOC_OK 0#define MALLOC_NO 1#define EMPTY_OK 0#define EMPTY_NO 1typedef struct bcnode{ int num; struct bcnode *front; struct bcnode *rear;}BCno.

2022-02-18 23:37:19 275

原创 带表头循环单链表——增删改查

#include <stdio.h>#include <stdlib.h>#define CREATE_OK 0#define CREATE_NO 1#define MALLOC_OK 0#define MALLOC_NO 1#define EMPTY_OK 0#define EMPTY_NO 1typedef struct cnode{ int num; struct cnode *next;}Cnode, *Clink;int is_malloc.

2022-02-18 23:36:17 178

原创 单链表(有表头)——增删查改

#include <stdio.h>#include <stdlib.h>struct hnode{ int num; struct hnode * next;};typedef struct hnode Hnode;typedef Hnode * Hlink;//创建带表头的链表void create_new_node(Hlink * new_node){ *new_node =(Hlink)malloc(sizeof(Hnode.

2022-02-17 21:43:41 621

原创 单链表(无表头)——增删改查

#include <stdio.h>#include <stdlib.h>#define MALLOC_OK 1#define MALLOC_NO 0#define CREATE_OK 1#define CREATE_NO 0struct node //创建结构体{ int num; //数据域 struct Node * next; //指针域};typedef struct node Node;typedef Node *Link;.

2022-02-17 21:41:10 135

原创 数据结构——链表

一、线性表1、定义定义n个数据元素的有限序列,记作( a1, a2,..., an ) ai是表中数据元素,n是表长度2、特点除第一个元素外,其他每一个元素有一个且仅有一个直接前驱(前面紧挨着)。 除最后一个元素外其他每一个元素有一个且仅有一个直接后继(后面紧挨着)。二、顺序表1、定义定义将线性表中的元素相继存放在一个连续的存储空间中。 可利用一维数组描述存储结构2、特点线性表的顺序存储方式。3、遍历方式顺序访问,可以随机存取(顺序访问效率高) 三、链表(链接表.

2022-02-15 20:50:54 837

原创 树和二叉树

1. 树的定义树是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:(01) 每个节点有零个或多个子节点;(02) 没有父节点的节点称为根节点;(03) 每一个非根节点有且只有一个父节点;(04) 除了根节点外,每个子节点可以分为多个不相交的子树。2. 树的基本术语若一个结点有子树,那么该结点称为子树根的"双亲",子树的根是该结点的"孩子"。有相同双亲的结点互为"兄弟

2022-02-11 19:11:21 77

原创 数组与指针

一、数组名作为函数参数传递方式:地址调用——将实参数组首地址传给虚参swap函数的正确形式swap函数的几种错误形式传值和传指传值只改变形参的值,交换后变量值不能返回void swap(int x,int y){ int t; t=x;x=y;y=t;}传指改变实参,只改变指针指向,变换后的指针值也不能被返回void swap(int *p1,int *p2){ int *p; p=p1;p1=p2;p2=p;...

2022-02-11 16:50:38 1169

原创 将CSDN上的文章转换为pdf

目录一、打开文章二、按F12,进入开发者模式三、输入程序代码四、打印一、打开文章二、按F12,进入开发者模式三、输入程序代码$(function(){ /*从被选元素body移除一个类页面样式*/ $("body").removeClass("nodata"); /*删除顶部导航*/ $("#csdn-toolbar").remove(); /*删除左侧导航*/ $("aside").remove(); ...

2022-02-09 17:47:25 735

原创 嵌入式学习 2022.1.25 C语言基础与提高3

一、数组、指针的定义和使用 1、数组类型的应用场合 2、定义、初始化和引用2.1一维数组的定义2.2一维数组的初始化当数组被说明为静态(static)存储类型或外部存储类型(即在所有函数外部定义)时,则在不显式给出初值的情况下,数组元素将在程序编译阶段自动初始化为0。 static int a[4] 等价于 static int a[4]={0,0,0,0}...

2022-01-25 17:15:02 385 2

原创 嵌入式学习 2022.1.23

一、(编译)创建随机数组(5*5为例)#include <stdio.h>#include <time>#define N 5int main(){ int i,j; int arr[][] srand((unsigned)time(NULL)) for(i=0;i<N;i++) { for(j=0;j<N;j++) { arr[i][j]=rand()%100; printf("%4d",arr

2022-01-23 19:54:03 642

原创 嵌入式学习2022.1.19+1.21——C语言基础与提高

一、基本数据类型表示方法:长度范围表示方法每种类型的数据允许进行的运算尾数+指数二、关键字三、表达式和基本语句四、预处理五、位运算

2022-01-19 21:25:37 574

编程练习1——练习版本,可正常运行

1、打印菱形星号组合 (asterisk1、2、3) * *** ***** ******* ***** *** * * * * * * * * * * * * * 第i行: 空格数? 星号数? 2求a和b的最大公约数(commondivisor) gcd(a ,b)= gcd(b, a%b) 例:gcd(36,24) =gcd(24, 12 ) =gcd(12, 0 ) 3已知,求π?(1/100000000) (pai) 4、计算前20项的和? (sum20) 5、求100~200间的所有素数,每行打印5个素数 (prime) 6、计算字符串中的单词数。 单词:由空格分开的连续字母数字串。 (calword) 7、将整数转换为10进制、2进制、16进制的数字串 (convert) 8、打印字符串、复制字符串、连接字符串 (print) 9、整数数组的冒泡排序

2022-01-24

空空如也

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

TA关注的人

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