位移运算

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. how to convert a number to a number array in javascript without convert number to a string

    how to convert a number to a number array in javascript without convert number to a string 如何在不将数字转换 ...

  2. bash shell cli tools

    bash shell cli tools before # create files $ mkdir app-component $ cd app-component $ touch index.ht ...

  3. 埋点 & 数据上报 & 数据异常处理

    埋点 & 数据上报 & 数据异常处理 如何在用户关闭浏览器前面,发送请求 beforeunload unload https://developer.mozilla.org/en-US ...

  4. html2Canvas to Images

    <script> $(function () { var content = document.getElementById("shareImages"); conte ...

  5. Dart: 执行shell命令

    1 创建包 >stagehand console-full 2 安装插件 process_run: ^0.10.1 3 编写 bin/main.dart ... import 'package: ...

  6. Baccarat是如何运用去中心化治理模式的?

    区块链的出现,让大家看到了去中心化的可能.去中心化的数字资产从最初的默默无闻,一路起起伏伏发展了十年,逐渐成为了大众认可的价值存储方式.去中心化的金融,使数字资产的生态建设者意识到,即使没有中心化的金 ...

  7. 「NGK每日快讯」12.14日NGK公链第41期官方快讯!

  8. 020_CSS3

    目录 如何学习CSS 什么是CSS 发展史 快速入门 css的优势 三种CSS导入方式 拓展:外部样式两种写法 选择器 基本选择器 层次选择器 结构伪类选择器 属性选择器 美化网页元素 为什么要美化网 ...

  9. winform捕捉全局异常

    /// <summary> /// 应用程序的主入口点. /// </summary> [STAThread] static void Main() { try { //设置应 ...

  10. @RestController和@Controller

    1.使用@Controller 注解,在对应的方法上,视图解析器可以解析return 的jsp,html页面,并且跳转到相应页面 若返回json等内容到页面,则需要加@ResponseBody注解 2 ...