
C++与汇编挖掘代码本质(小码哥配套笔记)
当时自学小码哥视频
自己手写的全套笔记
CTRA王大大
一枚码农,坚持coding
展开
-
程序内存布局:代码段、数据段、堆空间、栈空间 (拒绝误导、拒绝错误概念、JVM除外)
内存空间的布局每个应用程序内存都应有自己独立的内存空间,其内存空间一般都有以下几大区域1、代码段(代码区)用于存放代码(机器码),只读2、数据段(全局区)用于存放全局变量等(static)整个程序运行中都存在,除非关闭进程#include <iostream>using namespace std;//全局变量int g_age = 10;int main() { return 0;}g_age 就是全局变量3、栈空间每调用一个函数就会给它分配一原创 2020-05-11 20:25:01 · 467 阅读 · 0 评论 -
C++挖掘程序本质(第三章C++其他语法-终)李明杰-M了个J 配套教材
1. 运算符重载 (operator overload)运算符重载(操作符重载):可以为运算符增加一些新的功能运算符 + 不能为左右俩个对象类型运算,运算符重载就是增加运算符两边的类型1.1 使用运算符重载运算符重载实现代码注意这里使用友元和运算符重载没有任何关系,仅为课程的连贯性使用(完全可以将成员变量public,不使用友元)#include <iostream>...原创 2020-04-16 15:19:14 · 626 阅读 · 0 评论 -
C++挖掘程序本质(第二章C++面向对象-下)李明杰-M了个J 配套教材
1.多继承C++允许一个类可以有多个父类(不建议使用,会增加程序设计复杂度)#include <iostream>using namespace std;struct Student { int m_score; void study() { cout << "Student::study() - score = " << m_score &l...原创 2020-04-10 16:06:59 · 610 阅读 · 0 评论 -
C++挖掘程序本质(第二章C++面向对象-中)李明杰-M了个J 配套教材
1. 内存管理1.1 类中的成员变量,不需要主动回收类中的成员变量,随着类的对象销毁,一同销毁#include <iostream>using namespace std;struct Person { int m_age; //用来作一些初始化的工作 Person() { m_age = 0; cout << "Person::Person()"...原创 2020-04-02 16:18:18 · 881 阅读 · 0 评论 -
C++挖掘程序本质(第二章C++面向对象-上)李明杰-M了个J 配套教材
目录1.类1.1 C++中可以使用struct、class来定义一个类1.1.1 struct 和 class的区别1.1.2 内存的栈空间,自动分配和回收1.1.3 class与struct的反汇编比较1.1.4 创建的对象内存情况1.1.5 函数内存布局:成员函数,不占用创建对象的内存1.1.6 成员变量内存布局:类中的成员变量,以创建对象的成员变量多少开辟内存1.1.7 C++...原创 2020-03-31 10:14:27 · 993 阅读 · 0 评论 -
汇编入门基础 (配套c++挖掘程序本质)未完待续!~
前言1.程序的本质[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UTa1b3tp-1584662251340)(汇编语言.assets/image-20200319194700323.png)]2.寄存器与内存 int a = 3; // 运算前会将a装入内存中 int c = a + 1;2.1 通常CPU会先将内存中的数据存储到寄存器中,然后再次...原创 2020-03-24 11:32:47 · 532 阅读 · 0 评论 -
C++挖掘程序本质(第一章C++基础)李明杰-M了个J 配套教材
《编程内功之30小时快速精通C++和外挂实战课程》学习笔记和一些直接可运行代码分享;======================================================主要以b站免费学习资源打造同进度学习的同学在没有up主回答的情况下通过一起学习组队可以互相解决观看视频中自己出现的问题,通过教学相长的方式,将知识可以牢固掌握。我们的目标是:学习是我们终身的任务原创 2020-03-24 11:11:06 · 2016 阅读 · 0 评论