位移运算

1、与运算 &

2、或运算 |

3、非运算 ~

4、异或运算 ^

5、移位运算 <<  >>

内存分配,文件读写

宏定义说明

一、无参数的宏定义的一般形式为:# define 标识符 字符序列

如:# define TRUE 1

# define PI 3.1415926

注意事项:

1、只作字符序列的替换工作,不作任何语法的检查

2、如果宏定义不当,错误要到预处理之后的编译阶段才能发现

二、带参数宏定义:#define 标识符(参数表)字符序列

# define MAX(A,B) ((A) > (B)?(A):(B))

代码 x= MAX( p, q)将被替换成 y=((p) >(q)?(p):(q)

注意:

1、宏名标识符与左圆括号之间不允许有空白符,应紧接在一起.

2、宏与函数的区别:函数分配额外的堆栈空间,而宏只是替换.

3、为了避免出错,宏定义中给形参加上括号.

4、末尾不需要分号.

头文件

#include "stdafx.h"

其实就是包含了其他程序写的代码,自己可以调用

在内存分配中,我们可能不知道自己到底需要多大的空间,这时需要用到malloc

而使用malloc,是在堆里面分配的,堆是需要使用结束后自己告诉系统,这块空间我不用了

PE文件的两种状态

一种是在硬盘里的,没有运行

一种是已经运行起来,内存里已经有了

硬盘对齐,内存对齐

以前技术不足,为了节省硬盘空间,使数据存储在硬盘中的时候,节与节之间的间隙比较小,而当把数据放入内存的时候,间隙又恢复了,所以有些程序:硬盘对齐:200h  内存对齐:1000h

但有些程序是现在开发的,技术比较好,硬盘内存对齐都是1000h

但是为什么要有分节呢,因为考虑到多开的概念

就相当于QQ开多个小号,每一个QQ都有一些相同的部分,只可读不可写,当我们使用小号时,就可以不改变这一部分,而只需要重新在内存里创建自己可以操控的可读可写部分

联合体

union Student

{

int x;

int y;

};

这样Student作为类型名

union

{

int x;

int y;

} Student ;

这样Student直接作为变量,类型是匿名的

比如我们要存储学号和身份证号,但我们存一个就可以了,就可以用联合体

PE学习前的一些小知识的更多相关文章

  1. bootstrap学习笔记(网页开发小知识)

    这是我在学习Boostrap网页开发时遇到的主要知识点: 1.导航条navbar 添加.navbar-fixed-top类可以让导航条固定在顶部,固定的导航条会遮住页面上的其他内容,除非给<bo ...

  2. ITIL学习笔记——ITIL入门小知识

    1. 什么是ITIL? ITIL即IT基础架构库(Information Technology Infrastructure Library)由英国政府部门CCTA(Central Computing ...

  3. VB6.0编程笔记——(2)开发环境准备&学习前导入

    工欲善其事必先利其器,着手开始学习写代码之前,我们需要先准备好需要用到的工具.这篇文章会教大家部署好环境,同时会告知前期我们需要知道的一点内容(可以不用特别理解,只要记住用法就行,后续会深入展开介绍) ...

  4. 记录一下学习Android的小知识

    目前要设计即时通讯的整体架构,包括服务端.Android.IOS.PC.平板等等系统,所以需要研究一下手机的实现方式,开始从Android入手,偶尔在这记录下小知识. ADT: 1.页面功能请求结构, ...

  5. 【python学习小知识】求绝对值和numpy和tensor的相互转换

    一.python求绝对值的三种方法 1.条件判断 2.内置函数abs() 3.内置模块 math.fabs 1.条件判段,判断大于0还是小于0,小于0则输出相反数即可 # 法1:使用条件判断求绝对值 ...

  6. salesforce 零基础开发入门学习(十)IDE便捷小知识

    在这里介绍两个IDE的便捷开发的小知识. 一) 本地调试 由于salesforce代码只能提交以后才能调试,所以很多时候调试代码很麻烦.新版增加了一个特性:即可以在本地调试相关的代码或者查看相关代码运 ...

  7. python3开发进阶-Django框架学习前的小项目(一个简单的学员管理系统)

    ''' 自己独立写一个学员管理系统 表结构: 班级表: -id -grade_name 学生表: -id -student_name -grade 关联外键班级表 老师表: -id -teacher_ ...

  8. s性能优化方面的小知识

    总结的js性能优化方面的小知识 前言 一直在学习javascript,也有看过<犀利开发Jquery内核详解与实践>,对这本书的评价只有两个字犀利,可能是对javascript理解的还不够 ...

  9. golang拾遗:内置函数len的小知识

    len是很常用的内置函数,可以测量字符串.slice.array.channel以及map的长度/元素个数. 不过你真的了解len吗?也许还有一些你不知道的小知识. 我们来看一道GO101的题目,这题 ...

随机推荐

  1. Docker In Action

    Docker In Action Docker 实战 https://docs.docker.com/get-started/overview/ Docker Engine Docker Archit ...

  2. Raspberry Pi & GPIO

    Raspberry Pi & GPIO pinout === pin out / p in out pi@raspberrypi:~ $ pinout ,------------------- ...

  3. Java REPL & JShell

    Java REPL & JShell Java 11 JShell Java Shell https://www.infoq.com/articles/jshell-java-repl/ Th ...

  4. HTML5 & canvas fingerprinting

    HTML5 & canvas fingerprinting demo https://codepen.io/xgqfrms/full/BaoMWMp window.addEventListen ...

  5. taro 三端开发

    taro 三端开发 wx 小程序, alipay 小程序,H5 https://taro-docs.jd.com/taro/docs/GETTING-STARTED.html#h5 https://t ...

  6. USDN代币发行 关于USDN代币

    "稳定币"是数字货币的一种,但与主流币存在的差异是,它可以通过锚定法币和加密资产等手段来维持币价的相对稳定.提及稳定币,一般会先介绍三种模式: 法币托管模式.数字资产抵押模式和无抵 ...

  7. 为什么NGK推出的DEFI项目这么火热?

    进入到2020年的下半年,DeFi的锁仓量基本上是以日破新高的态势,不断的成为一个独角兽.DeFi逐渐形成一个独角兽的同时,也在不断的给区块链生态赋能,源源不断进行金融价值输送.所以加密货币体量的不断 ...

  8. WPF MVVM实例三

    在没给大家讲解wpf mwm示例之前先给大家简单说下MVVM理论知识: WPF技术的主要特点是数据驱动UI,所以在使用WPF技术开发的过程中是以数据为核心的,WPF提供了数据绑定机制,当数据发生变化时 ...

  9. MHA架构搭建中遇到的问题

    1. 两个包:mha4mysql-manager-0.56-0.el6.noarch.rpm 和 mha4mysql-node-0.56-0.el6.norch.rpm 地址:https://code ...

  10. k8s自定义controller设计与实现

    k8s自定义controller设计与实现 创建CRD 登录可以执行kubectl命令的机器,创建student.yaml apiVersion: apiextensions.k8s.io/v1bet ...