![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式
文章平均质量分 86
demon % !
这个作者很懒,什么都没留下…
展开
-
C++(第五天----多继承、虚继承、虚函数、虚表)
构造函数调用顺序,先调用父类,再调用子类注意:1、子类调用成员函数的时候会检测该成员函数在子类中是否存在,如果存在就调用自己的, 如果不存在就调用 父类的(前提是父类要有这个函数)2、如果子类和父类存在同名函数,那么在子类中 父类的函数成员会被隐藏,默认调用的就是子类函数成员。如果要调用父类的函数成员必须添加类名和作用域。练习1:设计一个基类动物类(属性:体重,颜色,年龄 行为:跑,吃,睡),构造方法初始化属性。原创 2024-07-05 15:10:48 · 937 阅读 · 0 评论 -
C++(第四天----拷贝函数、类的组合、类的继承)
1、概念拷贝构造函数,它只有一个参数,参数类型是本类的引用。如果类的设计者不写拷贝构造函数,编译器就会自动生成拷贝构造函数。大多数情况下,其作用是实现从源对象到目标对象逐个字节的复制,让目标对象的每个成员变量都变得和源对象相等。编译器自动生成的拷贝构造函数称为“默认拷贝构造函数”。2、格式3、例子constvoidconstvoid4、什么时候需要自己定义拷贝构造函数当类的数据成员中 有指针成员的时候,需要申请内存空间5、什么时候会调用到拷贝构造函数。原创 2024-07-04 14:47:41 · 1004 阅读 · 0 评论 -
C++(第三天----类的内存空间,构造,初始化列表,析构,this指针,指针的动态内存)
1、类本身是一种数据类型,在没有定义对象前是不占用内存空间的,定义对象的时候才会分配 空间2、计算一个类的对象占用多少空间用sizeof(类名或对象)1)类的内存空间大小是其数据成员(非静态-数据段)和虚表大小有关,跟函数成员无关2)如果一个类中没有数据成员(空类),也没有虚表那么这个类的大小规定为1个字节3、为什么空类的大小为1个字节实际上,这是类结构体实例化的原因,空的类或结构体同样可以被实例化。原创 2024-07-03 17:09:49 · 484 阅读 · 0 评论 -
C++ (第二天下午---面向对象之类与对象)
1、面向过程面向过程是一种以事件为中心的编程思想,编程的时候把解决问题的步骤分析出来,然后用函数把这些步骤实现,在一步一步的具体步骤中再按顺序调用函数。可见,面向过程始终关注的是怎么一步一步地判断棋局输赢的,通过控制代码,从而实现函数的顺序执行。2、面向对象(OOP)在日常生活或编程中,简单的问题可以用面向过程的思路来解决,直接有效,但是当问题的规模变得更大时,用面向过程的思想是远远不够的。所以慢慢就出现了面向对象的编程思想。原创 2024-07-02 16:39:17 · 801 阅读 · 0 评论 -
C++ (第二天上午---函数重载和缺省参数和占位参数)
1、问题的引入在实际开发中,有时候我们需要实现几个功能类似的函数,只是有些细节不同。例如希望交换两个变量的值,这两个变量有多种类型,可以是 int、float、char、bool 等,我们需要通过参数把变量的地址传入函数内部。那么在C++中,有没有一种方法,允许多个函数拥有相同的名字,只要它们的参数列表不同就可以呢。答案:使用函数重载。2、概念用相同的函数名定义多个不同的功能称为函数重载。重载的函数根据参数的个数和类型进行区分,但不能单独根据返回类型进行区分。3、例子。原创 2024-07-02 13:45:33 · 434 阅读 · 0 评论 -
C++(第一天-----命名空间和引用)
1、与C相比c语言面向过程,c++面向对象。c++能够对函数进行重载,可使同名的函数功能变得更加强大。c++引入了名字空间,可以使定义的变量名更多。c++可以使用引用传参,引用传参比起指针传参更加快,指针传参还需要传送,而引用传参不需要传送参数,就能使函数共用一个变量。c++使用了类,能够继承,继承使得定义相似的类时能够直接从上一层得到一些方法或变量来进行直接使用。原创 2024-07-01 15:12:48 · 950 阅读 · 0 评论 -
Makefile
BIN=a ball:$(BIN)clean:rm $(BIN)所谓定义引用,指的是在定义一个变量的时候引用了另一个变量的值。A = Chinaall:echo $(B)C/C++编译过程中,编译器提供了多种选项来控制编译行为和优化代码。以下是一些常见的编译选项:-o :指定输出的文件名。-c:只编译和汇编,但不进行链接,生成目标文件(.o 或 .obj 文件)。-O0, -O1, -O2, -O3:设置不同的优化级别。原创 2024-06-27 16:09:45 · 943 阅读 · 0 评论 -
静态库和动态库
对于上述编译过程,重点关注最后一步库文件的链接(gcc hello.o -o hello -lc):链接实际上是将多个.o文件合并在一起的过程。这些 *.o 文件合并前是 ELF 格式,合并后也是 ELF 格式。ELF全称是 Executable and Linkable Format,即可执行可链接格式。ELF文件由多个不同的段(section)组成,如下图所示:ELF格式的合并,实际上就是将多个文件中各自对应的段合并在一起,形成一个统一的ELF文件。原创 2024-06-27 14:39:28 · 959 阅读 · 0 评论 -
C语言系统编程
4、删除IPC资源:shmctl(int shmid,int cmd,struct shmid_ds * buf);1、创建:int msgid = msgget(ftok(“.”,1),IPC_CREAT | 0666);附加:信号的安全:当信号的handle函数里访问了全局变量、静态变量等共享变量时,这个信号就是不安全的。1、创建id:shmget(key_t key,size_t size,int shmflg);3、接受:msgrcv(msgid,msg,SIZE,msg.msgtype,0);原创 2024-06-12 16:16:08 · 575 阅读 · 0 评论 -
C语言宏定义+条件编译
5.1 带有条件和循环的宏在C语言中,宏定义可以非常复杂,并且可以用于生成相当复杂的代码片段。通过结合参数、操作符、条件和嵌套宏,可以创建出功能强大的宏。\ int i;i原创 2024-06-12 16:03:58 · 1079 阅读 · 0 评论 -
C语言结构体和共用体
1、概念几个不同的变量共用同一段内存的结构,在C语言中,被称为"共用体"类型结构2、定义共用体类型3、特点a.联合体中的所有成员共享一段内存的b.联合体中的最大个数据成员的大小就是联合体的大小4、大小端模式1)概念一个多字节存储单元的低地址存储数据的低有效位还是高有效位2)为何会有大小端模式以前不同的芯片公司在处理把寄存器的数据存放到内存中时,采用的方式不统一,才产生了大小端两种模式。测试 当前主机 是 小端序 还是 大端序3)实际应用场景。原创 2024-06-12 15:30:03 · 347 阅读 · 0 评论 -
C语言函数
1、概念回调函数就是一个被作为参数传递的函数。2、模仿标准C库 qsort (利用快速排序法排列数组)的实现。原创 2024-06-12 15:22:02 · 242 阅读 · 0 评论 -
C语言内存管理
C语言内存管理原创 2024-06-12 15:14:56 · 316 阅读 · 0 评论 -
C语言指针
字节:字节是内存的容量单位,英文称为byte,一个字节有8位,即1byte = 8bits地址:系统为了便于区分每一个字节而对它们逐一进行的编号,称为内存地址,简称地址。原创 2024-06-12 15:07:57 · 778 阅读 · 0 评论 -
C语言文件编程
1、Linux文件类型2、系统IO与标准IO的关系。原创 2024-05-27 14:08:11 · 382 阅读 · 0 评论 -
GEC6818开发板的环境配置
dev/root 352756 273244 79512 77% / ---->存放rootfs的电子硬盘分区:352756*1kB = 350MB。3、进入./usr/local/arm/5.4.0/usr/bin, 先使用pwd查看当前的绝对路径,PATH:/home/gec/usr/local/arm/5.4.0/usr/bin 配置文件最后一行。3、挂载 mount -t vfat /dev/mmcblk0p7 /mdata。原创 2024-05-27 11:11:29 · 1302 阅读 · 0 评论