位移运算

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. ES Next & Arrow function & Promise & Iterator & Generator yield & Async Await

    ES Next & Arrow function & Promise & Iterator & Generator yield & Async Await co ...

  2. how to change svg polygon size by update it's points in js

    how to change svg polygon size by update it's points in js matrixTransform https://stackoverflow.com ...

  3. lua windows上使用vs编译Lua

    video 下载lua源文件 还有种方法: 创建空项目,取名lua,导入lua源文件 将luac.c移除,然后编译lua.exe 将lua.c移除,添加luac.c然后编译lua.exe后重命名位lu ...

  4. CentOS 7.6.1810 运行pupperteer

    故障排除 安装puppeteer,使用cnpm 解决依赖 $ yum -y update $ yum install -y pango libXcomposite libXcursor libXdam ...

  5. Flutter 删除AppBar的返回icon

    设置automaticallyImplyLeading: false即可,替换可以修改"leading"参数 ... appBar: AppBar( automaticallyIm ...

  6. subline3 如何设置es6高亮

    步骤: 1.操作Ctrl+Shift+P , 然后在弹出的框内输入Package Control: in,2.选择Package Control: install package,3.等待再次弹出输入 ...

  7. 1.代码规范之 if 语句编写

    最近在看项目代码的时候, 看到需要判断的地方,出现了if的多重嵌套,  甚至是出现了十几层的嵌套, 代码的阅读性非常之差. 简单的举个例子(这里只是两层的嵌套): public class demo ...

  8. 读懂一个中型的Django项目

    转自https://www.cnblogs.com/huangfuyuan/p/Django.html [前言]中型的项目是比较多的APP,肯会涉及多数据表的操作.如果有人带那就最好了,自己要先了解基 ...

  9. 后端程序员之路 21、一个cgi的c++封装

    在"3.fastcgi.fastcgi++"中,我们了解了cgi,也尝试了fastcgi++,这里,再记录一种对fastcgi的封装. 1.cgi接口层    request_t ...

  10. 关于使用C3P0程序报错Having failed to acquire a resource, com.mchange.v2.resourcepool的问题

    由于是新手的问题,C3P0的使用时严格跟着视频来的,但是问题却来的很突然 在导入了三个包以及创建了路径以后 进行测试 class JdbcutilsTest { @Test void TestGetC ...