- 博客(13)
- 收藏
- 关注
原创 linux内核-将驱动编译进内核
linux内核-将驱动编译进内核例如:将hello world驱动配置编译进内核1、在内核目录/drivers/char目录下新建一个hello子目录2、在hello目录中,编写Kconfig,Makefile,hello.c等文件Makefile: obj -$(CONFIG_HELLO) +=hello.oKconfig:config HELLOtristate “hello world” //引号括起来的表示模块名helpthis option enable support fo
2021-10-15 22:42:29
502
原创 C++基础学习笔记----容器嵌套容器
//容器嵌套,vector<vector<int>>void test02(){ vector<vector<int>> v; vector<int> v1; vector<int> v2; vector<int> v3; vector<int> v4; vector<int> v5; for (int i = 0; i < 10; i++) { v1.push_back
2020-05-25 19:27:22
454
原创 C++基础学习笔记----STL初识
1、STL的基本概念STL(Standard Template Library)标准模板库STL从广义上分为:容器(container)、算法(algorithm)、迭代器(iterator)容器和算法之间通过迭代器进行链接STL标准模板库几乎所有的代码都采用模板类和模板函数2、STL六大组件容器:各种数据类型,如:vector、list、deque、set、map等,用来存放数据。算法:各种常用算法,如:sort、find、copy、for_each等。迭代器:扮演了容器与算法之间的
2020-05-24 01:13:01
187
原创 C++基础学习笔记---类模板
一、类模板1、类模板作用:建立一个类,类中的成员 数据类型可以不具体制定,用一个虚拟类型来代表。语法:template<typename T>class 类名{};解释:template:声明创建模板typename:表明其后面的符号是一种数据类型,可以用class代替T:通用的数据类型,名称可以替换,通常为大写字母例如:#include <iostream>#include <string>using namespace std;
2020-05-22 23:00:34
174
原创 C++基础学习笔记---多态、继承、文件操作
一、多态、继承1、C++允许父子之间的类型转换,不需要作强制类型转换,父类的引用或指针可以直接指向子类对象;2、地址早绑定:在编译阶段确定函数地址3、地址晚绑定:在程序运行阶段确定函数地址。4、动态多态满足条件:有继承关系子类重写父类中的虚函数父类的指针或引用指向子类对象5、多态原理由于类中定义了虚函数,类的结构发生改变,类中会保存一个虚函数指针(vfptr)指向虚函数表,虚函数表用来存放虚函数地址。当子类继承父类,没重写父类虚函数之前,除了继承父类虚函数之外,还会继承父类的虚函数指
2020-05-22 15:56:19
176
原创 C语言基础学习【笔记】
1、mallocC语言使用malloc分配内存时,不需要强制类型转换,C语言支持void*隐式转换成其他类型的指针,而c++不支持,c++一般使用new。2、strcpy(char dest,const char sour);strcpy函数会把sour指向的字符串复制到dest,strcpy回复制结束符\0。3、printf("%8U\n",a);格式字符必须为小写,"%8U"不会当做格式控制符,而且是原样输出!...
2020-05-17 22:34:24
181
原创 C语言存储类关键字解析
C语言关键字一、static1、static定义全局变量,在全局变量前面加上关键字static,特点:在全局区分配内存如果没有初始化其默认值为零作用域和可见域从文件开始到结束2、static定义局部变量,在局部变量前面加上关键字static,特点:在全局区分配内存其可见域为文件开始到文件结束,作用域为定义它的函数开始到结束不会随着函数的开始和结束进行创建和销毁3、static定义函数,在函数返回类型前面加上static,有两种形式:(1)第一种是普通的全局静态函
2020-05-13 16:36:46
676
原创 #define和typedef的区别
define和typedef的区别#define可以使用其他类型说明符对宏类型名进行扩展,而typedef不可以#define INT intunsigned INT n; //可以typedef int INT;unsigned INT n;//错误在连续定义几个变量的时候,typedef定义的几个变量为同一类型,define不行。typedef int* Pint;Pint p1,p2; //p1,p2类型相同,都是指向int类型的指针#define PINT int
2020-05-12 12:07:51
101
原创 指针数组与数组指针的用法
指针数组与数组指针的用法1、定义方式int *parr[3]; //指针数组,存放三个整形指针的数组int(*p)[4] = NULL;//数组指针,指向含有4个整形元素的数组2、使用为整形二维数组分配空间并赋值打印.做法:先定义一个指针数组,再把指向一维数组的指针放进指针数组。void test1(){int cnt = 0;int arr1[3][4] = { 0...
2020-01-04 15:57:11
577
原创 C语言动态分配二维数组
C语言动态分配二维数组二维数组可以看成是指向数组的指针构成的数组,即指针数组,用来存放数组指针。1、使用malloc分配二维数组时,可以先分配包含有n个指针元素的一维数组:例如:分配具有m行n列个元素的二维数组int **p = (int **)malloc(sizeof(int *)*n);2、然后为每个指针元素分配数组for(int i = 0;i < n;i++){*(...
2020-01-04 01:33:17
4296
5
原创 Qt程序异常退出
Qt程序异常退出原因:定义了QTextEdit *textedit 指针变量,但是我并没有在使用指针变量之前,给textedit分配空间,所以在使用textedit时,访问了非法空间,导致程序异常退出。...
2019-12-30 15:18:03
900
原创 Qt因为信号名相同产生二义性错误解决方法
//////////////////////Qt因为信号名相同产生的二义性/////////////////例如:子窗口给主窗口发送两个信号://///////子窗口代码片段/*定义信号,函数重载signals:void subsignal(); //信号1无参信号void subsignal(int,QString);//信号2带参信号*/connect(&a...
2019-12-28 00:58:33
732
原创 【MySQL】ERROR 1005: Can't create table (errno: 150)的错误解决办法
【MySQL】ERROR 1005: Can’t create table (errno: 150)的错误解决办法在mysql 中建立引用约束的时候会出现MySQL ERROR 1005: Can’t create table (errno: 150)的错误信息结果是不能建立 引用约束。出现问题的大致情况1、外键的引用类型不一样,主键是int外键是char2、找不到主表中 引用的列3、主...
2019-12-23 17:52:08
1622
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人