<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[H_A666的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/H_A666</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; H_A666]]></copyright><item><title><![CDATA[C++之操作符重载]]></title><link>https://blog.youkuaiyun.com/H_A666/article/details/117747204</link><guid>https://blog.youkuaiyun.com/H_A666/article/details/117747204</guid><author>H_A666</author><pubDate>Wed, 09 Jun 2021 16:53:24 +0800</pubDate><description><![CDATA[目录



静态成员

友员函数

操作符重载

静态成员

1.声明静态成员：在类中是声明静态变量，而不是定义


class Person{
    static int cnt;//表示cnt是属于Person类的，而不属于实例化对象的
    static int getcnt（void）{
        return cnt；
    }
}

2.定义和初始化静态成员变量：需要在类外和main函数之外定义和初始化，在main函数之外定义是为了想要在对象实例化之前将静态成员变量定义和初始化完成.]]></description><category></category></item><item><title><![CDATA[驱动进化之路：设备树的引入及简明的教程（imx6ull）]]></title><link>https://blog.youkuaiyun.com/H_A666/article/details/117405318</link><guid>https://blog.youkuaiyun.com/H_A666/article/details/117405318</guid><author>H_A666</author><pubDate>Mon, 31 May 2021 21:07:40 +0800</pubDate><description><![CDATA[设备树
设备树只是用来给内核里的驱动程序， 指定硬件的信息。比如 LED 驱动，在内核的驱动程序里去操作寄
存器，但是操作哪一个引脚？这由设备树指定。
设备树的格式：
/{         //根节点用什么表示呢？和内核一样 用"/"表示，根节点的表示就是“ /{}; ”
    cpu{    //根节点中的CPU节点表示方法
        //节点里面有属性
        name = val;//name可以随便取，但是val不行
        /*   val有三种取值方法
         ]]></description><category></category></item><item><title><![CDATA[C++之构造函数与析构函数]]></title><link>https://blog.youkuaiyun.com/H_A666/article/details/117391510</link><guid>https://blog.youkuaiyun.com/H_A666/article/details/117391510</guid><author>H_A666</author><pubDate>Sat, 29 May 2021 22:01:28 +0800</pubDate><description><![CDATA[构造函数
所谓构造函数就是跟类名相同的函数，可以带有参数也可以不带参数。可以通过参数的不用，来区分调用哪个构造函数
类的构造方法的概念和作用：

构造方法负责对象初始化工作，为对象属性赋合适的初始值
创建对象时，其类的构造方法确保在用户操作对象之前，系统保证初始化的进行

构造方法的语法规则：

构造函数名和类名一致
没有返回类型
方式实现主要为字段赋值

demo
#include &lt;iostream&gt;

using namespace std;

class Person{
	char *n]]></description><category></category></item><item><title><![CDATA[C++基础知识]]></title><link>https://blog.youkuaiyun.com/H_A666/article/details/117265084</link><guid>https://blog.youkuaiyun.com/H_A666/article/details/117265084</guid><author>H_A666</author><pubDate>Tue, 25 May 2021 21:52:05 +0800</pubDate><description><![CDATA[类的定义
类是面向对象程序设计语言中的一个概念，是对某个对象的定义。它包含有关对象动作方式的信息，包括它的名称、方法、属性。
类成员有3种不同的访问权限：
1）公有（ public ）成员：类外访问该成员。 　　
2）私有（ private ）成员：只能被该类的成员函数访问。 　　
3）保护（ protected ）成员：只能被该类的成员函数或派生类的成员函数访问。
利用关键字class来定义一个类：
在类中，默认成员属性为private,该权限作用为防止修改程序的人添加不符合常理的数据。
class pe]]></description><category></category></item><item><title><![CDATA[驱动进化之路：总线设备驱动模型]]></title><link>https://blog.youkuaiyun.com/H_A666/article/details/117002165</link><guid>https://blog.youkuaiyun.com/H_A666/article/details/117002165</guid><author>H_A666</author><pubDate>Wed, 19 May 2021 17:50:00 +0800</pubDate><description><![CDATA[总线设备驱动模型
总线设备驱动模型是基于驱动设计思想分离而实现的。其主要包括了三个部分：总线（bus）、设备（dev）、驱动（drv）； 主要功能就是将dev与drv分离开来。
设备（dev）
在dev部分中会注册一个platform_device（设备平台）。可以在platform_device结构体里面定义使用哪个引脚也可以用来表示所有设备的资源。
struct platform_device {
	const char	*name;
	int		id;
	bool		id_auto;
	struct ]]></description><category></category></item><item><title><![CDATA[03-git的基本命令]]></title><link>https://blog.youkuaiyun.com/H_A666/article/details/116306466</link><guid>https://blog.youkuaiyun.com/H_A666/article/details/116306466</guid><author>H_A666</author><pubDate>Fri, 30 Apr 2021 17:15:14 +0800</pubDate><description><![CDATA[1.文件的四种状态
版本控制就是对文件的版本控制，要对文件进行修改、提交等操作，首先要知道文件当前在什么状态，不然可能会提交了现在还不想提交的文件，或者要提交的文件没提交上。

Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.
Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改,
而变为Modified. 如果使用git rm移出版本库,]]></description><category></category></item><item><title><![CDATA[02-git的安装以及配置]]></title><link>https://blog.youkuaiyun.com/H_A666/article/details/116305769</link><guid>https://blog.youkuaiyun.com/H_A666/article/details/116305769</guid><author>H_A666</author><pubDate>Fri, 30 Apr 2021 16:37:09 +0800</pubDate><description><![CDATA[git的安装
1.在ubuntu上安装：
输入命令：
sudo apt-get install git

2.在window是上安装
打开 [git官网] https://git-scm.com/，下载git对应操作系统的版本。
官网下载太慢，我们可以使用淘宝镜像下载：http://npm.taobao.org/mirrors/git-for-windows/
git的配置
安装完成后，在桌面上鼠标右击会出现“git bush here”，你点击这个选项就会跳出一个界面

输入命令git config -l]]></description><category></category></item><item><title><![CDATA[01-git与svn]]></title><link>https://blog.youkuaiyun.com/H_A666/article/details/116304757</link><guid>https://blog.youkuaiyun.com/H_A666/article/details/116304757</guid><author>H_A666</author><pubDate>Fri, 30 Apr 2021 16:15:51 +0800</pubDate><description><![CDATA[1.Git与svn对比


1 Svn
SVN是集中式版本控制系统，版本库是集中放在中央服务器的，而干活的时候，用的都是自己的电脑，所以首先要从中央服务器哪里得到最新的版本，然后干活，干完后，需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作，如果在局域网还可以，带宽够大，速度够快，如果在互联网下，如果网速慢的话，就郁闷了。下图就是标准的集中式版本控制工具管理方式:

集中管理方式在一定程度上看到其他开发人员在干什么，而管理员也可以很轻松掌握每个人的开发权限。但是相较于其优点而言，集中]]></description><category></category></item><item><title><![CDATA[Makefile的编写规则]]></title><link>https://blog.youkuaiyun.com/H_A666/article/details/115873634</link><guid>https://blog.youkuaiyun.com/H_A666/article/details/115873634</guid><author>H_A666</author><pubDate>Mon, 19 Apr 2021 20:39:21 +0800</pubDate><description><![CDATA[Makefile的好处：
修改源文件或者头文件，只需要重新编译牵涉的文件，就可以重新生成APP
Makefile文件编写规则
目标（target）...:依赖（prerequiries）
&lt;tab&gt;命令（command）

目标通常是要生成的文件的名称，可以是可执行文件或OBJ文件，也是一个执行动作的名称，如“clean”。
依赖是用来产生目标的材料（比如源文件），一个目标经常有几个依赖。
命令是生成目标执行时的动作，一个规则可以含几个命令，每个命令占一行。
注意：每个命令行前面必须是一个tab]]></description><category></category></item><item><title><![CDATA[Java之内部类]]></title><link>https://blog.youkuaiyun.com/H_A666/article/details/115056016</link><guid>https://blog.youkuaiyun.com/H_A666/article/details/115056016</guid><author>H_A666</author><pubDate>Sun, 21 Mar 2021 21:05:48 +0800</pubDate><description><![CDATA[内部类之成员内部类
内部类的概念：
所谓内部类就是将一个类定义在另一个类的内部。内部的类称为内部类
内部类的主要特点：

内部类可以很好的实现隐藏，可以使用protected private修饰符
内部类可以直接访问外部类的所有成员，包括私有的成员
外部类不能直接访问内部类的成员，必须首先建立内部类的对象才能访问

成员内部类及应用：

成员内部类属于外部类的实例成员，成员内部类可以有public private default   protected权限修饰符。在成员内部类中访问外部类成员的方法和属性，要]]></description><category></category></item><item><title><![CDATA[Java之接口及使用]]></title><link>https://blog.youkuaiyun.com/H_A666/article/details/115055970</link><guid>https://blog.youkuaiyun.com/H_A666/article/details/115055970</guid><author>H_A666</author><pubDate>Sun, 21 Mar 2021 21:03:08 +0800</pubDate><description><![CDATA[接口的概念和作用
接口语法
interface 接口名{
    //共有静态常量、抽象方法
}

接口的特点

接口中只能存放静态常量和抽象方法
Java接口是对功能的拓展
通过实现接口，Java类可以实现多实现
一个类可以同时继承（extends）一个父类并且实现（implements）多个接口 接口与接口之间可以使用extends实现继承

接口与抽象类的区别

抽象类和具体实现之间是一个继承关系，也就是如果采用抽象类的方式，则父类和子类在概念上应该是相同的is-a
接口实现类在概念上不要要求相同，接]]></description><category></category></item><item><title><![CDATA[Java之抽象方法和抽象类]]></title><link>https://blog.youkuaiyun.com/H_A666/article/details/115055936</link><guid>https://blog.youkuaiyun.com/H_A666/article/details/115055936</guid><author>H_A666</author><pubDate>Sun, 21 Mar 2021 21:01:33 +0800</pubDate><description><![CDATA[抽象类：Java中可以定义没有方法体的方法，该方法由子类来具体实现。没有方法体的方法我们称之为抽象方法，含有抽象方法的类我们称之为抽象类。
抽象方法的特点：

只有方法头没有方法体的方法称为抽象方法
抽象方法用abstract来修饰
抽象方法代表一种不确定的操作或者行为
抽象方法不能被调用

抽象类的特点：

定义中含有抽象方法的类叫做抽象类
抽象类用abstract来修饰
抽象类代表一种抽象的对象类型
抽象类不能够实例化
抽象类可以有具体方法，可以没有抽象方法（但是无意义）

abstract class]]></description><category></category></item><item><title><![CDATA[Java之继承]]></title><link>https://blog.youkuaiyun.com/H_A666/article/details/115055831</link><guid>https://blog.youkuaiyun.com/H_A666/article/details/115055831</guid><author>H_A666</author><pubDate>Sun, 21 Mar 2021 20:59:49 +0800</pubDate><description><![CDATA[1.继承的概念


继承背后的思想就是基于已存在的类来构建新类


当从已存在类继承是，就重用了它的方法和属性，还可以添加新的方法和属性来定制新类以应对需求


约定：从其他类导出的类叫做子类
被导出的类叫做父类


在Java中，除了object类之外，所有类都是子类，只有唯一的父类


package jicheng.zhaohaip;

class Person{//父类
	int age;
	String name;
	
	void eat(){
		System.out.println("人吃饭"]]></description><category></category></item><item><title><![CDATA[Java之面向对象之封装]]></title><link>https://blog.youkuaiyun.com/H_A666/article/details/115055632</link><guid>https://blog.youkuaiyun.com/H_A666/article/details/115055632</guid><author>H_A666</author><pubDate>Sun, 21 Mar 2021 20:55:04 +0800</pubDate><description><![CDATA[将数据和方法包装进类中，加上具体实现的隐藏（访问修饰符），共同被称作封装，其结果是一个同时带有特征和行为的数据类型。
定义类，定义其属性，方法的过程称为封装类
封装类demo：
class Student{//相当于c的结构体；定义类
	int age;//定义属性
	String name;//java中没有指针字符串
	double score;
	
	void myPinrtf(){//定义方法
 //不用传参，可以直接调用上面的变量，因为面向对象
		System.out.println("age=]]></description><category></category></item><item><title><![CDATA[Java的输入类]]></title><link>https://blog.youkuaiyun.com/H_A666/article/details/115055606</link><guid>https://blog.youkuaiyun.com/H_A666/article/details/115055606</guid><author>H_A666</author><pubDate>Sun, 21 Mar 2021 20:44:13 +0800</pubDate><description><![CDATA[import java.util.Scanner;

public class Scanf {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);//需要ctrl+shit+o导出有关scanner的包。设置为输入模式
		
		int a;
		String str; //Java中字符串定义为String
		
		System.out.println("Please input a int n]]></description><category></category></item><item><title><![CDATA[Java的方法就是c的函数]]></title><link>https://blog.youkuaiyun.com/H_A666/article/details/115055587</link><guid>https://blog.youkuaiyun.com/H_A666/article/details/115055587</guid><author>H_A666</author><pubDate>Sun, 21 Mar 2021 20:43:32 +0800</pubDate><description><![CDATA[public class Function {
	
	static void myPrintf()//如果要调用函数，则需要在函数名前加上static，否则不能够调用
	{
		System.out.println("hello world");
	}
	
	static void myAprintf(int a)
	{
		System.out.println("Input a number:"+a);
	}
	
	public static void main(String[] args) {//mai]]></description><category></category></item><item><title><![CDATA[Java数组与c语言稍微有点不同]]></title><link>https://blog.youkuaiyun.com/H_A666/article/details/115055546</link><guid>https://blog.youkuaiyun.com/H_A666/article/details/115055546</guid><author>H_A666</author><pubDate>Sun, 21 Mar 2021 20:42:18 +0800</pubDate><description><![CDATA[public class Test {
	public static void main(String[] args) {
		int a[] = {1,2,4};//定义数组[]中括号里面不能有数字
		System.out.println(a[0]);
		System.out.println(a[1]);
		System.out.println(a[2]);
		
		//int[] array = new int[3] ;//定义一个空数组，括号尽量放前面 标准化一点
		int array[] ]]></description><category></category></item><item><title><![CDATA[Java之helloworld]]></title><link>https://blog.youkuaiyun.com/H_A666/article/details/115055520</link><guid>https://blog.youkuaiyun.com/H_A666/article/details/115055520</guid><author>H_A666</author><pubDate>Sun, 21 Mar 2021 20:40:03 +0800</pubDate><description><![CDATA[建立java工程：
首先file-&gt;new-&gt;java project
然后打开你建立文件夹，右键src，new-&gt;class.这样就建立完成啦
public class Test {
	public static void main(String[] args) {//Java的main函数
		System.out.println("hello World");//java的打印函数，与c语音的printf作用一样
	}
}


...]]></description><category></category></item><item><title><![CDATA[基于树莓派（C语音）实现人脸识别（翔云平台）]]></title><link>https://blog.youkuaiyun.com/H_A666/article/details/114889219</link><guid>https://blog.youkuaiyun.com/H_A666/article/details/114889219</guid><author>H_A666</author><pubDate>Tue, 16 Mar 2021 17:42:51 +0800</pubDate><description><![CDATA[1.树莓派中安装摄像头并测试摄像头
1.1、安装mjpg-streamer
在CRT中依次输入一下指令
sudo apt-get update    #更新软件列表
sudo apt-get upgrade  #更新软件
sudo apt-get install subversion  #Subversion是一个自由开源的版本控制系统
sudo apt-get install libjpeg8-dev  #JPEG支持库
sudo apt-get install imagemagick
sudo apt-]]></description><category></category></item><item><title><![CDATA[树莓派编译有关openssl库的例程代码报错解决方法]]></title><link>https://blog.youkuaiyun.com/H_A666/article/details/114884482</link><guid>https://blog.youkuaiyun.com/H_A666/article/details/114884482</guid><author>H_A666</author><pubDate>Tue, 16 Mar 2021 15:52:02 +0800</pubDate><description><![CDATA[gcc democar.c -I ./curl-7.71.1/_install/include/ -L ./curl-7.71.1/_install/lib/ -lcurl

当我们使用上面的指令编译会报错
./curl-7.71.1/_install/lib//libcurl.so: undefined reference to `SSL_CTX_set_keylog_callback@OPENSSL_1_1_1'
./curl-7.71.1/_install/lib//libcurl.so: undef]]></description><category></category></item></channel></rss>