自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Qt5+安装包制作(Qt Installer Framework)

installscript.qs官方文档链接:http://doc.qt.io/qtinstallerframework/scripting.html

2021-10-18 15:05:09 639

原创 c语言补习—指针

地址:内存中 以字节为单位 开始编号 变量在内存单元上的编号,地址是常量 1Byte = 8 bit&取地址符号指针: 本质 内存单元的地址指针变量:专门存放地址的变量(一般不做区分)指针的字节大小不会因为数据类型而改变,都是 4字节 ,与操作系统有关一般形式:<存储类型><数据类型> *<变量名> int *p;//*表示p是一个指针变量,前面int表示 p 可以指向一个整型数据 cha...

2021-07-21 16:44:32 246

原创 linux的shell脚本入门

1.shell是什么shell是一个命令行解释器,它是为用户提供了一个像linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动、挂起、停止shenzh

2021-06-08 17:50:44 212 1

原创 linux系统exec族函数

exec族函数函数的作用:我们用fork函数创建新进程后,经常会在新进程中调用exec函数去执行另外一个程序。当进程调用exec函数时,该进程被完全替换为新程序。因为调用exec函数并不创建新进程,所以前后进程的ID并没有改变。...

2021-05-30 19:06:35 538

原创 linux进程

程序是静止的概念,进程是程序的一次运行活动 就是程序跑起来 系统的中就多出一个进程

2021-05-30 13:27:39 47

原创 标准c库文件编程

open和fopen的区别:前者属于低级IO,后者是高级IO。前者返回一个文件描述符,后者返回一个文件指针。前者无缓冲,后者有缓冲。前者与 read, write 等配合使用, 后者与 fread, fwrite等配合使用。后者是在前者的基础上扩充而来的,在大多数情况下,用后者。...

2021-05-30 13:25:04 130

原创 文件操作之修改配置文件

用文件操作修改其他文件里的配置文件比如 有这么一个文件我们xuyapoxiug

2021-05-30 12:42:50 924

原创 linux文件操作

1.打开src2.读取src到buf3.打开srs4.将buf写入des5.关闭两个文件

2021-05-30 12:26:38 62

原创 linux文件系统编程

在linux里面,系统提供一些API比如 打开 open 读写 write

2021-05-30 12:13:24 249

原创 通信方式

一、通信分类串行通信 :一位一位传输 速度慢 抗干扰能力强 但是占用资源少 成本低FSMC并行通信:一起传输 多接口 速度快 占用资源多 但是抗干扰能力弱 成本高USART,IIC,SPI二、通信方式单工通信:IIC,SPI,打印机 单向通道 只能单向输出半双工通信:SPI,对讲机 双向通道 同一时刻只能单向传输全双工通信:USART,SPI 双向通道 同一时刻可以双向传输三、异步通信与同步通信的比较1.异步通信双方之间没有SC...

2021-05-11 17:16:27 698

原创 linux与树莓派交叉编译

arm-linux-gnueabihf-gcc -v编译适合在树莓派上运行的可执行文件scp xxx.c pi@ip地址 : /home/pi指令 文件名 开发板用户名@ip地址: 开发板绝度路径 password:输入开发板密码 同理从树莓派给linux传文件也一样grep gcc * -nir 查找包含gcchistory | grep 2.c 在历史中查找关于2.c的指令带wiringPi...

2021-04-23 16:12:44 123

原创 linux库的建立和使用

Linux共享库、静态库、动态库详解 使用GNU的工具我们如何在Linux下创建自己的程序函数库?一个“程序函数库”简单的说就是一个文件包含了一些编译好的代码和数据,这些编译好的代码和数据可以在事后供其他的程序使用。程序函数库可以使整个程序更加模块化,更容易重新编译,而且更方便升级,将调用函数 编译成库 只需要 将库和库函数的头文件 和主函数 一起打包发送就好 保护了库函数的程序。 程序函数库可分为3种类型:静态函数库(static libraries)、共享函数库(shar...

2021-04-16 17:57:19 241

原创 #ifndef, #define, #endif 作用

#ifndef  它是if not define 的简写,是宏定义的一种,实际上确切的说,这应该是预处理功能三种(宏定义、文件包含、条件编译)中的一种----条件编译。  在c语言中,对同一个变量或者函数进行多次声明是不会报错的。所以如果h文件里只是进行了声明工作,即使不使用# ifndef宏定义,多个c文件包含同一个h文件也不会报错。  但是在c语言中,#ifdef的作用域只是在单个文件中。所以如果h文件里定义了全局变量,即使采用#ifdef宏定义,多个c文件包含同一个h文件还是会出现全局变量

2021-04-12 13:39:38 178 2

原创 sh: 1: pause: not found

linux下运行c程序时,希望控制台不会输出后马上消失。在windows系统下,用如下语句:system("pause");发现在linux系统下会出现如题的错误,这是因为linux不认识 system("pause"); 这条语句,改为:#include <unistd.h>pause();即可在linux系统下实现保留控制台的效果。...

2021-04-11 10:09:52 599 1

原创 杨辉三角

杨辉三角形又称帕斯卡三角形,先看下面的三角形:111121133114...

2021-04-08 10:26:29 77

原创 字符串 倒转

输入字符串 实现 反向输出这里输入不用scanf 因为要兼容空格,所以用gets#include<stdio.h>#include<string.h>#include<stdlib.h>void turn(char *str){ int start=0; int end=strlen(str)-1; char temp; while(start<end){ temp=str[start]; str[start]=str[end]

2021-04-08 10:18:25 101

原创 3x3矩阵变换

创建一个3x3的矩阵 进行转置的算法实际上是二维数组的创建与变换#include<stdio.h>#include<string.h>#include<stdlib.h>void printer(int str[3][3]){ int i; int j; for(i=0;i<3;i++) { for(j=0;j<3;j++) { printf("%d ",str[i][j]); } putchar('\n'.

2021-04-08 10:09:18 882

原创 C语言基础知识

1.计算数组中元素的个数 数组总大小/一个类型的大小 int a[3]; char b[3]; printf("a数组里面有%d个元素\n",sizeof(a)/sizeof(a[0])); printf("b数组里面有%d个元素\n",sizeof(b)/sizeof(b[0]));2.数组名 等于数组首元素首地址 a=&a[0]3. int *p1; int a = 10; p1= &a; ...

2021-04-06 19:08:33 172

原创 linux open fopen popen函数区别

open 函数(打开一个文件)与 read, write 等配合使用1.1包含头文件#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>1.2函数原型int open(const char *pathname, int flags);int open(const char *pathname, int flags, mode_t mode);open函数返回一个文件描述符,一个

2021-04-06 17:53:06 522

原创 消息队列

一、消息队列消息队列,是消息的链接表,存放在内核中。一个消息队列由一个标识符(即队列ID)来标识。1、特点消息队列是面向记录的,其中的消息具有特定的格式以及特定的优先级。消息队列独立于发送与接收进程。进程终止时,消息队列及其内容并不会被删除。消息队列可以实现消息的随机查询,消息不一定要以先进先出的次序读取,也可以按消息的类型读取。2、原型#include <sys/msg.h>// 创建或打开消息队列:成功返回队列ID,失败返回-1int msgget(key_

2021-03-11 18:22:01 132

原创 进程间通信的五种方式

1.管道:速度慢,容量有限,只有父子进程能通讯2.FIFO:任何进程间都能通讯,但速度慢3.消息队列:容量受到系统限制,且要注意第一次读的时候,要考虑上一次没有读完数据的问题4.信号量:不能传递复杂消息,只能用来同步5.共享内存区:能够很容易控制容量,速度快,但要保持同步,比如一个进程在写的时候,另一个进程要注意读写的问题,相当于线程中的线程安全,当然,共享内存区同样可以用作线程间通讯,不过没这个必要,线程间本来就已经共享了同一进程内的一块内存...

2021-03-11 18:15:25 71

原创 管道的建立

一、普通管道创建普通管道创建失败则显示 creat pipe failed int fd[2]; int pid; char buf[128]; if(pipe(fd) ==-1) { printf("creat pipe failed\n"); //创建管道失败 }然后创建进程 pid = fork(); //创建进程 if(pid<0) { printf("creat child f...

2021-03-11 17:46:41 237

原创 配置环境变量

配置环境变量先查看当前可执行文件的路径再进行配置这样在任何路径下都可以运行这个文件

2021-03-08 11:10:34 67

空空如也

空空如也

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

TA关注的人

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