
笔记
文章平均质量分 65
llechee
这个作者很懒,什么都没留下…
展开
-
C语言算法——排序
目录冒泡排序桶排序选择排序插入排序快速排序*冒泡排序每次进行两两比较,大的或者小的就往后移,每进行一次,最后一个数就是已经排好序的。#include <stdio.h>void bullerSort(int arr[], int len){ int i,j,temp; for (i = 0; i < len - 1; i++) { for (j = 0; j < len - 1 - i; j++) { if (arr[j]>arr[j + 1])原创 2021-03-07 02:41:41 · 477 阅读 · 0 评论 -
Android studio初次运行出现Installation did not succeed. The application could not be installed
环境:intel (据观察intel和amd都会出现) 最新版Android studio点击运行出现报错Installation did not succeed.The application could not be installed: INSTALL_PARSE_FAILED_NO_CERTIFICATES解决办法:在项目中的gradle.properties全局配置添加下列代码android.injected.testonly=false重新Sync now 即可或者原创 2021-05-15 15:57:05 · 1838 阅读 · 4 评论 -
IMX6ULL开发笔记
自动获得IP:udhcpcsource的使用编译内核当遇到内核版本不一时(开发板内核低于编译内核),挂载后,将编译内核生成的arch/arm/boot/zImage发给开发板并将zImage文件放在/boot/下,reboot提示污染内核,没有影响,因为我们在内核目录外面编译的编译内核时找不到arm-gnueabihf-gcc这种问题刚开始都去找环境变量的问题,原来是编译器没装(我也有点迷)sudo apt install gcc-arm-linux-gnueabihf...原创 2021-05-05 03:39:00 · 298 阅读 · 0 评论 -
GCC编译出错找不到环境变量
环境:树莓派3BLIBRARY_PATH:程序编译期间查找动态链接库时指定查找动态库的路径相关链接: 库相关编译时出现/usr/bin/ld: cannot find -lcurlcollect2: error: ld returned 1 exit status只需要sudo vi /etc/profile然后最后加上export LIBRARY_PATH=$LIBRARY_PATH:“这里是你动态库pwd”退出,然后source /etc/profile...原创 2021-04-19 22:19:00 · 458 阅读 · 0 评论 -
Makefile的学习
MakeMakefile基本结构Makefile格式target : dependency_files<TAB> command例子hello.o : hello.c hello.hgcc -c hello.c -o hello.oMakefile是Make读入的唯一配置文件由make工具创建的目标体( target),通常是目标文件或可执行文件要创建的目标体所依赖的文件(dependency_file)创建每个目标体时需要运行的命令(command)注意:原创 2021-04-10 01:13:28 · 222 阅读 · 1 评论 -
Shell的介绍以及shell的编程
目录简介命令格式通配符什么是管道 '|'什么是重定向命令置换常见命令ps的状态文件的解压缩tarshell编程变量用户自定义变量位置变量即命令行参数预定义变量环境变量简介命令格式打印环境变量:echo通配符什么是管道 ‘|’什么是重定向命令置换比如command 'command'常见命令ps的状态状态参数:R:正在执行中S:阻塞状态T:暂停我行Z:不存在但暂时无法消除D:不可中断的静止<:高优先级的进程N:低优先级的进程L:有内存分页分配并锁原创 2021-04-09 17:11:19 · 495 阅读 · 0 评论 -
解决Ubuntu在挂起后重新开启时无网络的问题
环境:Ubuntu20.04,vm16 pro, 桥接网络当遇到这种问题,直接输入以下指令即可sudo /etc/init.d/network-manager restart原创 2021-04-06 18:11:18 · 663 阅读 · 0 评论 -
vim使用函数跳转功能
vim使用时对于比较大,长的文件,没有函数跳转功能的话会很难受Linux有对应的方法:sudo apt-get install exuberant-ctags然后再文件路径下运行ctags -R .注意:这个会生成一个tags文件, 这个文件就是所有函数和变量的索引列表,但是只能再本目录使用!!!此时我们打开一个c文件,将光标移到想要跳转的函数或变量上按ctrl+]就是跳转,ctrl+T就是返回,可以多次跳转和返回,同时也可以跨文件查找...原创 2021-04-06 18:05:30 · 1325 阅读 · 0 评论 -
树莓派安装openssl支持HTTPS
一步一步走wget https://www.openssl.org/source/openssl-1.1.1a.tar.gztar xvf openssl-1.1.1a.tar.gz cd openssl-1.1.1a./configmakeecho ~sudo make install cd curl-7.71.1/ ./configure --prefix=$PWD/_install --with-sslmakemake install...原创 2021-04-05 18:05:19 · 1582 阅读 · 4 评论 -
Libcurl库——HTTP协议实现
目录Libcurl库简介Libcurl的使用安装编程注意的小TIPSLibcurl库简介libcurl是跨平台网络协议库,支持应用层http,https,ftp,gopher,tellnet,dict,file,dap协议libcurl同样支持HTTPS证书授权,HTTP POST, HTTP PUT, FTP 上传,HTTP基本表单上传,代理,cookies,和用户认证库下载地址:https://github.com/curl/curl/releases/tag/curl-7_71原创 2021-03-29 23:48:55 · 718 阅读 · 0 评论 -
Socket TCP HTTP 的区别
目录Socket套接字Socket的建立TCPHTTPSocket连接TCP/IPSocket连接HTTPSocketSocket编程链接套接字套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。应用层通过传输层进行数据通信时,TCP会遇到同时为多个应用程序进程提供并发服务的问题。多个TCP连接或多个应用程原创 2021-03-29 20:48:03 · 205 阅读 · 0 评论 -
Source Insight4的使用以及下载
目录安装破解汉化包(半成品)第一次使用*快捷键***常用安装破解链接:https://pan.baidu.com/s/10JvVV2Xxtk4_E8gPT0Z-vA提取码:7ptr复制这段内容后打开百度网盘手机App,操作更方便哦暴力破解正常安装软件-》安装完成后,打开安装位置,用解压的sourceinsight4替换掉安装位置中的sourceinsight4-》管理员打开sourceInsight4,选择next-》把解压出来的 .lic文件导入进去-》完成。汉化包(半成品)链接: htt原创 2021-03-16 23:26:57 · 923 阅读 · 10 评论 -
HTTPS协议及密码学的简单学习
目录HTTPS协议了解密码学基础名词加密方式对称非对称哈希值HTTPS协议了解https协议是明文传输的,因此很容易被截取和解析,泄漏个人数据。https协议是在http和tcp之间多添加了一层,进行身份验证和数据加密。HTTPS和HTTP协议相比提供了:数据完整性:内容传输经过完整性校验数据隐私性:内容经过对称加密,每个连接生成一个唯一的加密密钥身份认证:第三方无法伪造服务端(客户端)身份密码学基础明文:能直接代表原文含义的信息 密文:经过加密处理之后,隐藏原文含义的信息 加密原创 2021-03-23 20:20:39 · 376 阅读 · 0 评论 -
HTTP协议
目录特性协议的请求请求行请求头请求体Http协议的响应响应行响应头响应主体特性HTTP协议(超文本传输协议HyperText Transfer Protocol),它是基于TCP/IP协议的应用层传输协议,简单来说就是客户端和服务端进行数据传输的一种规则。HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。HTTP默认端口号为80,8080但是你也可以改为其他端口。特点是:无状原创 2021-03-23 20:00:28 · 696 阅读 · 0 评论 -
使用树莓派作为监控——简洁高效版
不用管为什么,跟着一路复制下载进去首先安装蓝色的内一头对着网口,干进去。有问题咋办?vcgencmd get_camera输入 如果不是1,就得配置sudo raspi-config选第五个,再选creame(相机),然后ok还有cd /etc/modules-load.d有一个modules.confsudo打开他,在最后一行添加bcm2835-v4l2重启完事下载,加载sudo apt-get update #sudo apt-get upgrade #s原创 2021-03-23 00:50:46 · 369 阅读 · 0 评论 -
time.h 中 struct timeval 的学习
目录原创 2021-03-15 17:53:59 · 767 阅读 · 1 评论 -
进程间的通信方式(管道,消息队列,共享内存,信号)
创建进程后实现父子通讯的连接。我们希望有一个管道来进行数据的交互。之前可以用exit和exec族函数来假通信。数据很有限。所以我们使用IPC,进程的通信。使用管道来通信无名管道进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。https://blog.cs原创 2021-02-27 10:58:08 · 788 阅读 · 0 评论 -
进程的介绍以及使用
程序、进程程序是静态概念,pro文件进程是程序的一次运行活动 动态查看进程ps指令//用grep来过滤比如ps -aux|grep init也可以用top指令 与任务管理器类似进程标识符pid 每个进程都有一个非负整数pid=0:成为交换进程 作用:进程调度pid=1:init过程 作用:系统初始化调用getpid来获取父子进程进程a创建了进程bc程序的存储空间分配太麻烦了 不写了 自己了解bss 正文段 栈 堆 高地址...原创 2021-02-27 10:57:37 · 174 阅读 · 0 评论 -
C语言文件相关函数
文件操作open 打开 read/write 读写 lseek 光标定位 close 关闭文件的权限:用 ls -l查看 程序:可读 r 4可写 w 2执行 x 1例如0600:可读可写 不能执行原创 2021-02-27 10:56:28 · 553 阅读 · 0 评论 -
树莓派驱动开发编写调试(2)
目录总线地址物理地址虚拟地址BCM2835手册GPIO章节寄存器代码编写底层驱动上层应用代码烧写过程总线地址32位的win7为什么只能识别4g的内存 即使装了8g的内存条。64位才可以识别8g。2的32次方bit bit->kbit->mbit->gbit(每次除以1024)地址总线:属于一种电脑总线一部分,是由CPU 或有DMA 能力的单元,用来沟通这些单元想要存取(读取/写入)电脑内存元件/地方的实体位址。物理地址硬件实际地址或者绝对地址程序太大需要虚拟地址在存储器原创 2021-03-14 03:00:08 · 752 阅读 · 3 评论 -
左移,右移的学习
移位操作有逻辑移位和算术移位逻辑移位是不考虑符号位的移位,算术移位是考虑符号位的移位。无符号移位右移unsigned char x = 0x80二进制 表示是 1000 0000 ,十进制是128右移动一位,低位补0 变为 0000 0000 ,十进制是 0 unsigned char x = 0x80; unsigned char y = (x << 1); printf("%.2x\n", y ); 输出 00H二进制表示 0000 0原创 2021-03-14 01:29:40 · 1736 阅读 · 2 评论 -
位运算的学习
目录按位与 &按位或 |取反 ~异或 ^逻辑与 &&逻辑或 ||按位同或 ⊙按位与 &参加运算的两个数,按二进制位进行“与”运算。双目运算符,其功能让两个数的二进制位相与,只有两个位均为1 的情况,其结果才是1 ,其余情况为0如 0 & 0= 0 ,0 & 1= 0,1 & 0= 0, 1 & 1= 1。例:3 &5 即 00000011 & 00000101 = 00000001 ,所以 3 & 5的值为1原创 2021-03-14 01:02:22 · 161 阅读 · 0 评论 -
树莓派驱动开发编写调试(1)
目录驱动的认知用户内核硬件如何添加驱动基于框架编写驱动代码设备驱动框架驱动的认知Linux一切皆文件:鼠标,键盘,led,flash内存,网卡都是文件登录树莓哌可以查看:在/dev下。那么open是如何区分我打开的到底是什么呢?需要驱动吗?树莓派有很多引脚,都有驱动。比如引脚4驱动,这都需要我们实现,在内核源码添加,比如fd = open ("/dev/pin",权限),有俩部分:文件名(基于驱动框架不需要文件名)和设备号,用ls -l查看。主设备号和次设备号区别: Linux的设备管理是..原创 2021-03-12 18:31:13 · 389 阅读 · 0 评论 -
Linux内核结构介绍
用户态应用程序:基础c和c库c库:提供了应用程序支配内核干活的接口,比如进程的通信,程序的调度。open,write,read都来自于c库,c库和系统调用接口打交道,系统调用接口可以操纵底层各种系统,比如sxt4,vfat,tmpfs。使用时 内核会产生比如sys_open,sys_read等。这些都是read等函数调用时内核产生的内核态(包括了设备驱动程序(存在于文件系统))虚拟文件系统vfs:跟系统调用接口相似业务逻辑,把硬件底层虚拟化内核:线程,网络,进程,内存,设备驱动(支配硬...原创 2021-03-12 15:36:46 · 116 阅读 · 0 评论 -
分文件编程及Linux库介绍
目录分文件编程库静态库动态库库的制作静态库动态库库的使用静态库动态库分文件编程// < >这个符号表示gcc在编译的时候默认的在/usr/include 或 /usr/local/include 下找这些头文件" " 这符号表示优先从当前路径去找(当前的文件夹),然后再从/usr/include 下去找,找不到就报错。步骤:主函数在完成后,其余函数放在另一个c文件去实现,其余c文件不需要主函数,再使用gcc编译时,选择gcc + 1.c 2.c的方式去编译,但同时要注意使用cp命令原创 2021-03-03 18:01:33 · 383 阅读 · 0 评论 -
简易多线程实现贪吃蛇C语言
20210201 #include <stdlib.h>#include <curses.h>struct snake{ int hang; int lie; struct snake *next;};struct snake food;#define UP 1#define DOWN -...原创 2021-02-01 02:32:35 · 784 阅读 · 0 评论 -
C语言笔记
纯笔记更新ing~~十六进制只有a—f 且a=A内存64位编译器:char :1个字节char*(即指针变量): 8个字节short int : 2个字节int: 4个字节unsigned int : 4个字节float: 4个字节double: 8个字节long: 8个字节long long: 8个字节unsigned long: 8个字节数组注意数组越界输出数组a中有多少个元素: sizeof(a)/sizeof(a[0])数组名 = 数组首地址 = 数组第...原创 2021-01-15 18:22:39 · 648 阅读 · 0 评论 -
Linux常用语句总结
关于Linux的常用命令最常用的无疑就是Windows常用的 复制粘贴由ctrl+cv变为ctrl+shift+cv 记得常按ls装β 调出命令框为ctrl+alt+t 线上查询及帮助命令man:查看命令帮助,命令的词典,更复杂的还有info,但不常用。help:查看Linux内置命令的帮助,比如cd命令。文件和目录操作命令ls:全拼list,功能是列出目录的内容及其内容属性信息。cd:全拼change directory,功能是从当前工作目录切换到指定的工作目录。c原创 2020-10-22 14:53:58 · 2386 阅读 · 1 评论