自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 修改文件时间

【代码】修改文件时间。

2023-11-29 14:20:07 124

转载 三极管工作原理

三极管的放大作用就是:集电极电流受基极电流的控制(假设电源能够提供给集电极足够大的电流的话),并且基极电流很小的变化,会引起集电极电流很大的变化,且变化满足一定的比例关系:集电极电流的变化量是基极电流变化量的 β 倍,即电流变化被放大了 β 倍,所以我们把 β 叫做三极管的放大倍数(β 一般远大于 1,例如几十,几百)。所以,平常的工作流程便是,每当放水的时候,人们就打开小阀门,很小的水流涓涓流出,这涓涓细流冲击大阀门的开关,大阀门随之打开,汹涌的江水滔滔流下。当不工作的时候,阀门是完全关闭的,没有功耗。

2023-09-28 16:17:06 161

原创 warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]

变量需要在当前函数语句前声明。

2023-09-22 11:20:58 258

原创 incompatible function pointer types initializing

返回值/形参 类型错误。

2023-09-21 16:31:35 1018

原创 adb.exe: device offline

C:\Users\page>adb devicesList of devices attached9c00144c13c18891dd0 offlineC:\Users\page>adb shelladb.exe: device offlineC:\Users\page>adb versionAndroid Debug Bridge version 1.0.41Version 34.0.4-10411341Installed as C:\adb-1.0.41\platform-tool

2023-09-15 11:24:15 595

原创 “mkimage“ command not found - U-Boot images will not be built

【代码】“mkimage“ command not found - U-Boot images will not be built。

2023-09-14 11:22:26 106

转载 用PRODUCT_COPY_FILES拷贝文件夹(转)

(shell cp -rf $(LOCAL_PATH)/usb_modeswitch.d ${OUT)}"/system/etc/"),然后通过shell拷贝任意文件。$(shell mkdir -p ${OUT}"/system/etc/")源码编译的时候,先读取该mk文件,该目录还没创建,所以要建一个,否则拷贝失败。原因是build/core/Makefile中对copy file作了检测,如果是apk文件,会出错。如果出现拷贝的是apk文件,则有可能出现如下错误。

2023-07-11 11:44:58 1795

原创 diff生成源代码补丁

diff命令生成源代码补丁

2022-07-29 21:03:36 1081 1

原创 Linux Snap 命令

Linux Snap 命令

2022-07-08 16:20:40 4675 2

原创 ubuntu安装

ubuntu下载:Ubuntu 版本20.04.4:链接:https://pan.baidu.com/s/11FQKYO19dQ-HWki7n20A4w?pwd=1314提取码:131420.04装好的:链接:https://pan.baidu.com/s/1Ouk2FX7AxbrfO66QPUZPUQ?pwd=1314提取码:1314虚拟机下载:Download VMware Workstation Pro - VMware Customer Connectvmware 16.2...

2022-05-12 12:46:36 250

原创 socket tcp note

#ifndef _HEAD_SOCKET_H#define _HEAD_SOCKET_H#include <stdio.h> /* io */#include <sys/types.h> /* See NOTES */#include <sys/socket.h> /* socket */#include <strings.h> /* bzero */#incl..

2022-05-06 18:49:59 1130

原创 git工具

reset :初始化终端Git 配置git config -l 查看配置git config --system --list 查看系统配置git config --globa --list 查看用户配置git config --globa user.name 用户名git config --globa user.email 邮箱Git 工作区域工作区(working derectory):开发路径暂存区(stage/Index):.git下index文件,记录g..

2022-04-20 16:55:15 203

原创 html

html:超文本标记语言,主要是用于网页设计,它里面不仅可以放文本,还可以放图片,视频,音频等, 可用浏览器打开html页面的结构: <html> <head> <meta charset="utf-8"/> <title>当前页面的标题</title> </head> <b...

2022-04-09 16:09:36 234

原创 裸机LED

分析原理图 理解控制硬件的控制原理 找到对应的寄存器,并理解寄存器控制流程 根据寄存器地址访问硬件 实现硬件的控制(1)分析原理图硬件底板四个LED灯分别对应 D7、 D8、 D9、 D10。(原理图查看连接引脚)(2)理解控制硬件的控制原理 (D7->GPIO13 D8->GPIOC17 D9->GPIOC8 D10->GPIOC7)接VCC3P3_SYS(3.3v高电平),引脚输出低电平产生电势差,灯亮(3)找到...

2022-03-29 00:54:34 621

原创 根文件系统

首先要明白的是“什么是文件系统”,文件系统是对一个存储设备上的数据和元数据进行组织的机制。这种机制有利于用户和操作系统的交互。在一篇oracle的技术文章中看到这样一句话“尽管内核是 Linux 的核心,但文件却是用户与操作系统交互所采用的主要工具。这对 Linux 来说尤其如此,这是因为在 UNIX 传统中,它使用文件 I/O 机制管理硬件设备和数据文件”,这句话我是这样理解的,在Linux没有文件系统的话,用户和操作系统的交互也就断开了,例如我们使用最多的交互shell,包括其它的一些用户程序,都没有办

2022-03-28 11:08:03 86

原创 LINUX内核(kernel)

Linux内核主要由五个子系统组成:进程调度,内存管理,虚拟文件系统,网络接口,进程间通信。1.进程调度(SCHED):控制进程对CPU的访问。当需要选择下一个进程运行时,由调度程序选择最值得运行的进程。可运行进程实际上是仅等待CPU资源的进程,如果某个进程在等待其它资源,则该进程是不可运行进程。Linux使用了比较简单的基于优先级的进程调度算法选择新的进程。2.内存管理(MM)允许多个进程安全的共享主内存区域。Linux 的内存管理支持虚拟内存,即在计算机中运行的程序,其代码,数据,堆栈的总量可以

2022-03-28 10:37:14 2268

原创 Uboot烧录下载

方法1:1)修改开发板uboot的IP(不能跟电脑的IP相同,但是网段一定相同),开发板与路由器连接(前提关闭防火墙、杀毒软件)电脑ip(win+r输入cmd)(输入ipconfig -all(查ip))FS6818# setenv ipaddr 192.168.79.199 //设置uboot阶段IP地址(网段与主机相同)FS6818# setenv gatewayip 192.168.79.194 //默认网关FS6818# setenv netmask 255.25

2022-03-28 09:35:56 519

原创 驱动概念(uboot命令)

驱动就是计算机程序访问硬件的一个接口(API),这个接口是操作系统提供,作为操作系统涉及到安全管理机制,应用层不能够直接访问硬件,需要通过驱动函数接口来访问硬件系统启动过程上电--》uboot--》加载内核(kernel)--》挂载根文件系统(FS)--》执行应用程序...

2022-03-28 00:45:38 957

原创 容器常见算法

常见遍历算法算法简介:for_each //遍历容器链接:https://pan.baidu.com/s/1QBNTdVA6oSxcScetAoCcTA?pwd=u8tx提取码:u8txfor_each(iterator beg,iterator end,_func);//遍历算法 遍历容器元素//beg 开始迭代器//end 结束迭代器//_func 函数或者函数对象transform //搬运容器到另一个容器中链接:https://pan.baidu...

2022-03-26 19:14:14 445

原创 内建函数对象

1、意义。STL中已经内建一些函数对象。2、分类。算术仿函数。关系仿函数。逻辑仿函数。3、用法。这些仿函数所产生的对象,用法与一般函数完全相同,使用内建函数对象,需要引入头文件:#include <functional>算术仿函数template<class T> T plus<T> //加法仿函数template<class T> T minus<T> //减法仿函数template<cla...

2022-03-26 18:28:54 272

原创 STL函数对象(仿函数)/谓词

1、概念。重载函数调用操作符的类,其对象称为函数对象函数对象使用重载()时,行为类似函数调用,也叫仿函数。2、本质。函数对象(仿函数)是一个类的对象,不是一个函数。例如:class Person{public: void operator()() { }};Person p; p就是一个函数对象p(); 函数对象使用()时,非常像函数的调用,所以称为仿函数。函数对象的使用特点:1、函数对象在使用时,可以像普通函数那样调用,也可以有参数...

2022-03-26 18:10:24 264

原创 容器排序总结

vector容器 deque容器 -->sort(起始迭代器,结束迭代器) -->升序(数组)bool mycompare(int v1,int v2){ //降序:让第一个数字大于第二个数字即可 return v1 > v2;}sort(d.begin(),d.end(),mycompare);starck容器 queue容器 -->不需要排序(栈/队列)list容器 -->l.sort() -->升序(链表)bo...

2022-03-26 11:55:05 1154

原创 map/multimap容器(二叉树)

简介map中所有的元素都是pair(对组)。pair中第一个元素为key(键值),起到索引作用,第二个元素为value(实值)所有元素会根据元素的键值来自动排序。本质底层结构是二叉树。优点快速通过key值找到value。map容器与multimap容器区别?map容器不允许容器中有重复的key值元素。multimap容器允许容器中有重复的key值。multi(多,多重)#include <iostream>using namespace std;#include &l

2022-03-26 11:18:51 1178

原创 pair对组的创建

pair对组创建功能描述:成对出现的数据,利用对组可以返回两个数据(拥有两种类型的变量first/second)pair<type,type> p(value1,value2);pair<type,type> p = make_pair(value1,value2);#include <iostream>using namespace std;//对组的创建//pair<type,type> p(value1,value2);//

2022-03-26 01:45:31 509

原创 set/multiset容器(二叉树)

所有的元素都会在插入时自动被排序。set容器与multiset容器本质在底层结构是二叉树,头文件均为#include <set>set容器与multiset容器有什么区别?set容器不允许容器中有重复的元素。multiset容器允许容器有重复的元素。#include <iostream>using namespace std;#include <set> //set/multisetvoid printSet(set<int> &

2022-03-26 01:39:44 1132

原创 queue容器(队列)

1)不可以使用迭代器来遍历2)操作: 出队 -> 访问队头队尾 --> 出队 --> 访问队头队尾1、构造函数:queue<T> que; //queue采用模板类实现,queue对象的默认构造形式queue(const queue &que); //拷贝构造函数2、赋值操作:queue& operator=(const queue &que); //重载等号操作符3、数据存取:push(elem); //往...

2022-03-26 01:07:10 159

原创 list容器(链表)

#include <iostream>using namespace std;#include <list>#include <algorithm>//链表排序void printList(list<int> &l){ //遍历 for(list<int>::iterator it = l.begin() ; it!=l.end() ; it++) { cout << *it << " .

2022-03-26 01:06:49 69

原创 stack容器(栈)

#include <iostream>using namespace std;#include <stack>/*stack*/int main(int argc,char *argv[]){ stack<int> s; s.push(10); s.push(20); //向栈顶添加元素 s.push(30); cout << "栈的大小:" << s.size() << endl; stack<.

2022-03-25 21:32:12 361

原创 deque容器(数组)

1、功能。deque容器是一个双端数组,可以对头端进行插入和删除的操作,verctor仅能尾插尾删。2、deque容器与vector容器区别?deque容器由于插入方式多,所以效率要比vector高。3、deque迭代器。随机访问迭代器。#include <iostream>using namespace std;#include <deque>#include <algorithm>//sort(iterator beg,iterator

2022-03-25 18:12:54 310

原创 vector容器(单端数组)

1、vector容器基本概念。1)功能。vector容器数据结构与数组非常相似,也称为单端数组。2)vector与普通数组区别?普通数组 --> 静态空间vector容器 --> 动态扩展3)动态扩展。并不是在原空间之后继续接新空间,而是找更大的内存空间,然后原数据拷贝到新空间上,释放原空间。4)迭代器。vector容器迭代器就是支持随机访问的迭代器。5)头文件 #include <vector> string类包含在#include <i...

2022-03-25 18:05:55 705

原创 string容器(字符串)

string基本概念。string是C++风格的字符串,而string本质是一个类。特点:string类内部封装了很多成员方法。例如:构造函数,查找,追加,插入,删除...string通过char*来管理内存的,不用担心赋值越界以及取值越界等问题。#include <iostream>using namespace std;int main(int argc,char *argv[]){ string s1; //默认构造 const char *str = "

2022-03-25 17:27:32 634

原创 标准模板库

C++面向对象与泛型编程思想,目的就是复用性的提升。大多数情况下,数据结构与算法都未能有一套标准,导致被迫做大量重复的工作。为了建立数据结构和算法一套标准,诞生了STL。STL基本概念。STL(Standard Template Library) --> 标准模板库STL分为:容器(container)、算法(algorithm)、迭代器(iterator)容器与算法之间通过迭代器进行无缝连接。STL中几乎所有的代码都采用函数模板和类模板。容器、算法、迭代器。1)容器:就是用来存.

2022-03-25 16:56:20 617

原创 类模板分文件编写

掌握类模板成员函数分文件编写时产生的问题以及解决方法。问题:类模板成员函数创建时机是调用阶段(调用时才会创建),导致分文件编写时链接不到。解决:方式一:直接包含.cpp源文件。#include <iostream>using namespace std;template<class T1,class T2>class Person{public: Person(T1 name,T2 age); void showPerson(); T1 m_Name

2022-03-25 10:45:30 817

原创 类模板成员函数类外实现

#include <iostream>using namespace std;//类模板类外实现template<class T1,class T2>class Person{public: //类模板构造函数类内实现 Person(T1 name,T2 age); /* { this->m_Name = name; this->m_Age = age; } */ //类模板成员函数类内实现 void showPerson();.

2022-03-25 10:19:29 213

原创 类模板的继承

当类模板碰到继承时,需要注意以下几点:1)当子类继承到父类是一个类模板时,子类在声明时,需要指出父类中T的数据类型。2)如果不指定,编译器无法给子类分配内存空间。3)如果想灵活指定出父类中T的类型,子类也需要变成类模板。#include <iostream>using namespace std;#include <typeinfo>//类模板与继承/*template<class T>class Base{public: T m;};

2022-03-25 09:58:13 2823

原创 类模板对象做函数参数

类模板实例化出来的对象,向函数传参的方式。一共有三种方式:1、指定传入的类型 --- 直接显示对象的数据类型2、参数模板化 --- 将对象中的参数变为模板进行传递3、整个类模板化 --- 将这个对象类型模板化进行传递#include <iostream>using namespace std;#include <typeinfo>//类模板对象做函数参数//1、指定传入的类型 --- 直接显示对象的数据类型...

2022-03-25 09:28:33 335

原创 函数/类模板

模板的概念。1、什么是模板?C++中泛型编程就是利用模板的技术来进行编程。模板就是建立通用的模具,大大提高复用性。例如:PPT模板、身份证模板、照片模板。2、模板有什么特点?1)模板不可以直接使用,它只是一个框架而已。2)模板的通用并不是万能的。函数模板。C++中提供两种模板机制:函数模板和类模板1、函数模板的作用?建立一个通用的函数,其返回值类型和形参类型可以不具体指定,用一个虚拟的类型来代表。语法。template<typename T>函数声明或者定义

2022-03-25 09:24:22 451

原创 c++文件操作

程序运行时产生的数据属于临时数据,程序一旦运行结束就会释放了。通过文件可以将数据持久化。C++对文件操作需要包含头文件<fstream>文件类型。一共两种。1)文本文件。文件以文本的ASCII码形式储存在计算机中。2)二进制文件。文件以文件的二进制形式存储在计算中,用户一般不能直接读懂它们。操作文件方式。1> ofstream: 写操作2> ifstream: 读操作3> fstream: 读写操作文本文件 --- 写文件。1、写文件步骤:...

2022-03-24 10:34:31 886

原创 虚析构和纯虚析构

多态在使用时,如果子类有属性开辟到堆区,那么父类指针在释放时无法调用子类的析构代码。解决方式:将父类的中析构函数修改为虚析构或者纯虚析构。虚析构与纯虚析构共性:1)可以解决父类指针释放子类对象。2)都需要有具体的函数实现。虚析构与纯虚析构区别:如果纯虚析构,该类属于抽象类,无法实例化对象。#include <iostream>using namespace std;class Animal{public: Animal() { cout <<"An

2022-03-24 09:54:36 301

原创 纯虚函数和抽象类

在多态中,通常父类中虚函数的实现是毫无意义的,主要是调用子类重写的内容。因此,我们可以将虚函数修改为纯虚函数。纯虚函数语法:virtual 返回值类型 函数名(参数列表) = 0;当类中有了纯虚函数,这个类就称之为抽象类。#include <iostream>using namespace std;//纯虚函数与抽象类class Base{public: //父类虚函数实现是豪无意义的,可以修改为纯虚函数。 //纯虚函数语法:virtual 返回值类型 函数名(参数列表)

2022-03-24 09:18:42 946

Windows adb 中文乱码解决

Windows adb 中文乱码解决

2022-11-21

谷歌翻译自动修改host

谷歌翻译自动修改host

2022-11-21

空空如也

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

TA关注的人

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