
Linux系统学习
文章平均质量分 65
正弦定理
虽然我很笨,但是我努力还行。
展开
-
Window和Ubuntu下——VScode安装
Windows 与 ubuntu linux 下 Vscode安装教程Vscode官方网站:[Vscode官网](https://code.visualstudio.com/)一、Windows系统安装VsCode(1)下载安装包(2)点击安装,一直next即可(3)需要安装对应的插件,方便使用二、ubuntu Linux环境下安装(1)下载安装包(2)移动到ubuntu下(3)打开FileZilla(4)安装Vscode(5)设置快捷方式三、插件和解决问题Vscode官方网站:Vscode官网一、Wi原创 2021-08-02 16:48:32 · 842 阅读 · 1 评论 -
Linux IPC对象——共享内存
IPC对象学习——共享内存(1)描述(2)特点(3)共享内存使用步奏1.shmget函数创建共享内存2.shmat 映射3.shmdt 撤销映射4.shmctl 删除共享内存对象(1)描述(1)IPC对象包括: 共享内存、消息队列、信号灯集(2)每个IPC对象都有唯一的ID值——key(3)IPC对象创建后,直到进程结束,系统会默认释放(在服务器上可能不行),当然人为撤销最好(4)每个 IPC 对象都有对应的 key值 ,当key为 0 时,表示为 私有的共享内存,否则key 和 ID 对应相同原创 2021-06-08 20:53:02 · 560 阅读 · 1 评论 -
Linux学习——动态库的创建
Linux——创建动态库一.动态库特点:二.生成动态库(共享库)(1)生成目标文件 .o(2)创建共享库,以command为例(3)给共享库创建链接(4)编译测试(5)让系统找到库的方法1.方法二:2.方法三:一.动态库特点:二.生成动态库(共享库)例子文件:test.c:#include <stdio.h>#include "mydemo.h"int main(){ printf("Test begin : \n"); hello();原创 2021-03-28 21:45:51 · 849 阅读 · 2 评论 -
Linux学习——静态库制作
Linux——静态库制作一.静态库的特点:二.静态库制作格式和指令:三.简单制作静态库——Demo(1)目标封装函数(2)调用测试文件(3)将函数文件生成 .o 文件(4)编译生成静态库(5)编译测试(6)缺点一.静态库的特点:二.静态库制作格式和指令:ar crs libhello.c helloar crs lib + 文件名 + .a 文件名.o注意:格式一定是 以 lib开头 ,最后 .a 结尾,中间夹带的名字由自己取 ,最后使用函数文件 .o 生成静态库查看库里头封装的函原创 2021-03-28 12:00:29 · 454 阅读 · 0 评论 -
Linux——Makefile学习
Linux——MakeFile学习及Demo一.简单概念(1)Makefile:(2)结构:二.Demo一.简单概念(1)Makefile:(2)结构:target(目标): File(文件名)<TAB键> + command(命令)二.Demo原创 2021-03-26 23:06:35 · 273 阅读 · 0 评论 -
Ubantu——Linux文件解压和压缩
Linux文件压缩和解压指令一.gzip和gunzip二.tar命令三.tar解压和查看一.gzip和gunzip例如:二.tar命令使用区别如下:三.tar解压和查看tar -xvf 加上要解压的文件名字原创 2021-03-13 11:03:34 · 226 阅读 · 0 评论 -
Ubantu下Linux动态IP和静态IP配置方法
Ubantu——Linux动态Ip和静态Ip配置方法一.动态Ip配置二.网络配置文件(1)进入网络配置文件(2)静态Ip和动态Ip的修改(3)修改inerfaces文件后需要进入DNS文件添加域名Ip三.重启网络,让其配置生效四.使用nslookup看使用DNS 的Ip地址查看网络命令:ifconfig一.动态Ip配置动态IP作用过程:二.网络配置文件(1)进入网络配置文件(2)静态Ip和动态Ip的修改(3)修改inerfaces文件后需要进入DNS文件添加域名Ip添加原创 2021-03-13 10:51:36 · 274 阅读 · 0 评论 -
fread、fwrite、fopen函数的简单使用和open、read、write区别解析
fread、fwrite、fopen函数的简单使用和open、read、write区别解析一、fread、fwrite、fopen和read、write、open的区别解析:1、fopen和open区别:(1)来源:(2)移植性:(3)缓冲文件系统:(4)非缓冲文件系统:(5)主要区别:2、read/write和fread/fwrite区别:(1)fread是带缓冲的,read不带缓冲(2)其他:二、fread、fwrite、fopen解析(1)函数原型:(2)代码演示:(3)读写用在结构体上:一、fre原创 2020-09-19 22:34:40 · 1323 阅读 · 0 评论 -
Linux系统学习笔记——ftp项目
服务端server.c#include<stdio.h>#include<string.h>#include<sys/types.h> /* See NOTES */#include<sys/socket.h>#include<stdlib.h>#include <netinet/in.h>#include <arpa/inet.h>#include <unistd.h>#in原创 2020-08-25 20:53:18 · 348 阅读 · 1 评论 -
Linux系统学习——shell编程入门篇学习
Linux 系统学习——shell编程入门学习一、介绍:1. shell是一个作为用户和linux系统间接口的程序,允许用户向操作系统输入需要执行的命令2、执行脚本:1、./文件名 2、sh 文件名 3、#source 文件名3、在shell上 # 为注释4、每个shell程序需要写在 #!/bin/sh 开始 ,相当于头文件 ,这是对shell声明简单书写 :#!/bin/sh //必须要带上这个 shell 声明A="hello" // 这里不能 A = "hello" , 带有原创 2020-08-12 16:35:38 · 627 阅读 · 1 评论 -
基于树莓派arm架构——智能感应垃圾桶项目
以树莓派arm架构以超声波测距+蜂鸣器+舵机 实现开盖、关盖#include<stdio.h>#include<wiringPi.h> // 调用WiringPi库#include<sys/time.h> // 超声波测距头文件#include<softPwm.h> //调用PWM库#define Echo 5 //超声波端口#define Trig 4 //超声波端口#define BEEP 21 //蜂鸣器#define DU原创 2020-08-09 23:31:10 · 1207 阅读 · 1 评论 -
Source Insight 4.0——如何使用,方便阅读代码
Source Insight 4.0是一款很方便在代码量大的时候,用来观看代码的软件可以从网上下载到中文破解版,或者英文破解版 使用1、在目标代码录中建立一个文件夹,用来存放Source Insight工程文件 :点击刚建好的文件SI 进去,把文件夹路径拷贝下来:2、在Source Insight 中 建立工程 project ——new project :再次点击OK:3、添加目录代码文件:4、查询文件小窗口(此时如果右边没有出现小窗口,我们可以自行打开):View——Pa原创 2020-08-09 22:01:57 · 748 阅读 · 0 评论 -
Linux系统学习——实现cp指令拷贝
Linux下实现cp指令的功能:头文件可以通过使用 man 手册查询#include<stdio.h>#include <sys/types.h>#include <unistd.h>#include <sys/stat.h>#include <fcntl.h>#include<stdlib.h>#include<string.h>int main(int argc, char **argv){原创 2020-08-05 22:53:43 · 270 阅读 · 0 评论 -
树莓派——文件系统解析
文件系统学习1. 什么是文件系统?2. 文件系统(文件管理系统的方法)的种类有哪些?3. 什么是分区?windowsLinux4. 什么是文件系统目录结构?5.什么虚拟文件系统Virtual File System ?6.虚拟文件系统有什么作用?1. 什么是文件系统?常规认知: 根目录文件系统是操作系统用于明确存储设备组织文件的方法。以上说的方法:就是文件管理系统(程序),简称文件系统2. 文件系统(文件管理系统的方法)的种类有哪些?FAT VFAT NTFS EXT1/2/3/4 HF原创 2020-08-05 16:43:33 · 1124 阅读 · 0 评论 -
树莓派arm架构驱动学习——字符驱动pin4
驱动学习初步一、驱动pin4初步框架代码:pin4driver.c调试打开驱动:pin4test.c二、编译生成驱动:这里以我自己虚拟机为例1、进入linux包对应驱动类型下编译:2、编译驱动,生成 pin4driver.ko 文件3、将 pin4driver.ko 发送到树莓派上4、树莓派上加载驱动(在 /dev 上)5、查看目录有哪些驱动6、在linux下用arm编译 pin4test.c7、把 pin4test 发送到树莓派8、运行不了驱动的问题由于我们平时看的页面属于应用层,内核执行的驱动,结果是原创 2020-08-04 23:41:58 · 496 阅读 · 0 评论 -
Linux ——Ubuntu命令大全简单介绍
常用命令ifconfig -a或ifconfig查看ipcd /home/用户名/Deskto切换到桌面文件/文件夹管理ls 列出当前目录文件(不包括隐含文件)ls -a 列出当前目录文件(包括隐含文件)ls -l 列出当前目录下文件的详细信息cd ./ 回当前目录的上一级目录cd - 回上一次所在的目录cd ~ 或 cd / 回当前用户的宿主目录mkdir 目录名 创建一个目录tuoch 文本名 创建一个文本rmdir 空目录名 删除一个空目录rm 文件名 文件名原创 2020-07-31 13:41:33 · 296 阅读 · 0 评论 -
Linux环境变量——交叉编译树莓派编译gcc
一、临时添加 :(一)展示当前目录: pwd(二)展示当前环境变量 :echo $PATH(三) export PATH=(以冒号为界点,+你想要加的路径)二、永久添加 :(1)用cd 退出到 最开始主目录(2)执行vi .bashrc(3) 在最后一行加上 :export PATH=(你想要加的路径)(4) wq保存退出(5)执行source .bashrc 生效...原创 2020-07-30 23:40:16 · 654 阅读 · 0 评论 -
Linux系统学习实战——模仿ftp服务器
s原创 2020-07-27 12:10:31 · 511 阅读 · 1 评论 -
Linux系统学习——基于TCP的socket网络编程
TCP/IP详细解析参考:TCP/IP解析一、关于TCP下socket编程的思路解析:通信的过程解析:二、建立TCP(socket)服务端server解析:(1)创建套接字(连接协议)对象:头文件:#include <sys/types.h> /* See NOTES */#include <sys/socket.h>函数原型解析:int socket(int domain, int type, int protocol);int soc原创 2020-07-19 23:08:33 · 415 阅读 · 1 评论 -
Linux系统学习——多线程编程之线程、互斥锁、条件篇
二、互斥锁互斥量本质为一把锁,加锁和解锁之间的代码统称为互斥量头文件:#include<pthread.h>1. 创建及销毁互斥锁函数原型:int pthread_mutex_init(pthread_mutex_t *restrict mutex, const pthread_mutexattr_t *restrict attr);int pthread_mutex_destroy(pthread_mutex_t mutex);// 返回:若成功返回0,否则返回错误编号原创 2020-07-16 15:52:00 · 394 阅读 · 2 评论 -
Linux系统学习——进程间的通信方式
Linux系统学习——进程间的通信方式进程间的通信又称为IPC,指不同的进程间传送消息和交换消息IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中Socket和Streams支持不同主机上的两个进程IPC。一、管道管道通常指的是无名管道1.特点无名管道类似于一条水管,水只能从一端流入,另一端流出,而水管内部不储存水,具有固定的读端和写端它只能用于具有亲缘关系的进程之间的通信(也是父子进程或者兄弟进程之间)它可以看成是一种特殊的原创 2020-07-13 12:19:20 · 420 阅读 · 1 评论 -
Linux系统学习——exec族函数、system函数、popen函数学习
Linux系统学习——exec族、system、popen篇一、exec族解析1.头文件:#include <unistd.h>2.exec族函数的作用:我们用fork函数创建新进程后,经常会在新进程中调用exec函数去执行另外一个程序。当进程调用exec函数时,该进程被完全替换为新程序。因为调用exec函数并不创建新进程,所以前后进程的ID并没有改变3.函数原型:int execl(const char *path, const char *arg, ...);int原创 2020-07-11 15:42:18 · 1408 阅读 · 0 评论 -
Linux学习篇——基于C语言使用结构体、链表实现贪吃蛇
基于Linux下,通过c语言、链表、结构体下实现——贪吃蛇小项目一、需要用的头文件以及Linux图形库函数、数据初始化(1)关于curses.h图形库函数二、地图制作三、蛇身链表的初始化生成四、关于贪吃蛇移动,身体操作==总结:==**无论贪吃蛇朝着那个方向移动,都是头节点删除,尾巴节点添加,从而达到身体移动的目的**五、关于贪吃蛇的食物解析六、控制贪吃蛇移动的方向位置**标注:**线程创建格式:七、主函数八、代码实现哪里不好,有待提高的地方还望大佬指出,共同进步!感谢你的留言!一、需要用的头文件以及Li原创 2020-07-08 17:07:20 · 470 阅读 · 0 评论 -
Linux系统学习---进程学习篇
Linux系统学习---学习进程笔记心得一.进程和程序解析二.getpid()解析三.创建进程fork和vfork解析四.wait和waitpid解析五.孤儿进程总结:一.进程和程序解析(1)概念:程序是静态的概念,如gcc xxx.c –o pro,在磁盘中生成pro文件,这叫做程序进程是指程序的一次运行活动(通俗点就是程序跑起来了,系统中就多了一个进程)(2)查看系统中的进程:可使用ps指令查看,同时可使用grep来查找程序中你想找的某个进程(3)进程管理器可以通过使用ps -原创 2020-07-07 23:20:59 · 624 阅读 · 0 评论 -
Linux系统学习--文件编程(open,write,read、光标lseek)
Linux文件编程open、read、write操作常用对文件编程的操作如open、read、writeopen解析:write解析read解析补充说明读数据光标位置处理光标解析补充说明:常用对文件编程的操作如open、read、writeopen解析:头文件: #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h>函数原型: int open(const char *pa原创 2020-07-06 16:33:55 · 2094 阅读 · 2 评论