自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (3)
  • 收藏
  • 关注

原创 电子签名的认证、防篡改机制是怎么实现的?

用一组漫画来解释一下:鲍伯有两把钥匙,一把是公钥,另一把是私钥(公钥是公开的任何人都可以下载到)                           苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到加密保护的效果。                                   鲍勃收信后,用私钥解密,就看到了信件内容,这里强调的是,只要鲍勃的私钥不泄露,这...

2018-12-10 19:08:04 2365

原创 用信鸽来解释HTTPS

  密码学是一门难以理解的学科,因为它充满了数学定力。但是除非你要实际开发出一套加密算法系统,否则你是没必要强制理解哪些深奥的数学定理的。  如果你月度本文的目的是享受涉及下一套HTTPS协议,那我只能抱歉的说本文的知识远远不够;如果不是的话,那么就煮杯咖啡,轻松愉悦的月度本文吧。                                                       ...

2018-12-04 11:13:56 257

转载 #define用法详解

1.#define 的作用  在C或C++语言源程序中允许用一个标识符来表示一个字符串,称为“宏”。被定义为“宏”的标识符称为“宏名”。在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去代换,这称为“宏代换”或“宏展开”。宏定义是由源程序中的宏定义命令完成的。宏代换是由预处理程序自动完成的。  在C或C++语言中,“宏”分为有参数和无参数两种。2. 无参宏定义  无...

2018-11-02 16:14:51 573

原创 C/C++浮点数在内存中的存储方式

    任何数据在内存中都是以二进制的形式存在,例如一个short型数据1156,其二进制的表示形式为:100 1000 0100。则在Intel CPU架构的系统中,存放方式为:0000 0100(高地址单元) 1000 0100(低地址单元),因为Intel CPU的架构是小端模式。但是对于浮点数在内存是如何存储的?目前所有的C/C++编译器都是采用IEEE所指定的标准浮点格式,即二进制科学表...

2018-09-04 23:58:26 319

原创 C++编程规范之命名规范

C++编程规范之命名规范摘要:文档为C++于洋编程时的命名规范。包括通用命名规则、文件命名、类型命名、变量命名、常量命名、函数命名、命名空间、宏命名、命名规则例外。最重要的一致性规则是命名管理,命名风格直接可以直接确定命名实体是:类型、变量、函数、常量、宏等等,无需查找实体声明,我们大脑中的模式匹配引擎依赖于这些命名规则。命名具有随意性,在满足编译器规则的情况下,按照个人喜好时,由于程...

2018-08-06 20:10:27 3012

转载 vim 修改tab为四个空格

链接:http://www.imkeke.net/vim-2/vim-tab-config.html为了vim更好的支持python/C++写代码,修改tab默认4个空格有两种设置方法:1. vim /etc/vimrc  1 set ts=4 2 set sw=4 2. vim /etc/vimrc 1 set ts=4 2 set expan...

2018-08-05 17:43:29 1682

原创 c语言之动态栈

栈:定义-一种以先入后出为存储数据方式的数据结构 实现:stack.h文件#include <stdbool.h>extern void push(char);extern char pop();extern bool is_empty();extern bool is_ful();extern void init_stack(int);extern voi...

2018-08-03 11:41:54 253

原创 c之动态内存分配-malloc

本篇通过记录malloc及相关函数讲解动态内存分配定义:通过malloc函数可以在堆中申请指定长度的内存       动态内存申请的实现:通过地址+长度的map结构实现动态内存的管理头文件:#include <stdlib.h>       void *malloc(size_t size);funcation:在堆中申请指定长度字节的内存地址参数:用于指定申请...

2018-08-02 17:21:19 268

原创 c++之变量存储布局

作用域:变量可被访问的范围生命周期:变量存储空间的有效时间static:    限制作用域范围:仅限本文件为作用域    延长生命周期:与程序进程的生命周期相同    封装私有数据:仅限本文件访问变量存储空间    ...

2018-07-24 10:15:17 158

原创 c++之函数与指针

1.指针与函数返回值#include<stdio.h>int * add(int a, int b){ static int c;//静态变量的初始化,只能使用常量或常量表达式进行初始化 c = a + b; return &c;}void main(void){ int *p; p = add(2, 3);}2...

2018-07-24 09:40:57 137

原创 IMSI、MSISDN、MEID、IMEI

IMSI:international mobile subscriber identificatoin number国际移动用户标识符    组成:MCC+MNC+MSIN,由15位数字组成              MCC:mobile country code 移动国家码,由3位数字组成 例如:中国-460              MNC:mobile network coder...

2018-07-23 15:58:22 3073

转载 C++中 引用&与取地址&的区别

一个是用来传值的 一个是用来获取首地址的&(引用)==>出现在变量声明语句中位于变量左边时,表示声明的是引用.     例如: int &rf; // 声明一个int型的引用rf.&(取地址运算符)==>在给变量赋初值时出现在等号右边或在执行语句中作为一元运算符出现时                  表示取对象的地址. 在C++中,既有引用又有取地址,好多人对...

2018-07-09 15:46:55 386

原创 c语言数据输入输出——printf()

printf:    #include<stdio.h>    printf(const char *format,......)    功能:按照规定格式输出制定数据一般形式printf(格式控制,参数列表);    格式控制:用双引号括起来格式控制转换字符串        格式字符:由“%+格式字符”组成,将指定类型的参数按指定格式输出        字符串:原样输出       ...

2018-07-08 14:45:23 1464

转载 linux core dump 文件 gdb分析

转载:https://www.cnblogs.com/bodhitree/p/5850212.htmlcore dump又叫核心转储, 当程序运行过程中发生异常, 程序异常退出时, 由操作系统把程序当前的内存状况存储在一个core文件中, 叫core dump. (linux中如果内存越界会收到SIGSEGV信号,然后就会core dump)在程序运行的过程中,有的时候我们会遇到Segme...

2018-06-22 11:27:55 473

转载 linux中core dump开启使用教程【转】

转自:http://www.111cn.net/sys/linux/67291.htm一、什么是coredump我们经常听到大家说到程序core掉了,需要定位解决,这里说的大部分是指对应程序由于各种异常或者bug导致在运行过程中异常退出或者中止,并且在满足一定条件下(这里为什么说需要满足一定的条件呢?下面会分析)会产生一个叫做core的文件。通常情况下,core文件会包含了程序运行时的内存,寄存器...

2018-06-22 10:50:54 753

转载 gdb调试多线程

 下文参考以下链接:http://www.cnblogs.com/xuxm2007/archive/2011/04/01/2002162.html首先先介绍多线程调试的基本命令: 1.info threads,显示当前可调试的所有线程。每个线程会有gdb为其分配的ID,后面的操作会用到这个ID。前面带'*'号的是当前正在调试的线程。 2.thread ID,切换当前调试的线程为指定ID的线程。 3...

2018-06-09 11:40:21 652

转载 SVN中trunk,branches,tags用法详解

Subversion有一个很标准的目录结构,是这样的。比如项目是proj,svn地址为svn://proj/,那么标准的svn布局是svn://proj/|+-trunk+-branches+-tags这是一个标准的布局,trunk为主开发目录,branches为分支开发目录,tags为tag存档目录(不允许修改)。但是具体这几个目录应该如何使用,svn并没有明确的规范,更多的还是用户自己的习惯。...

2018-06-06 17:18:03 345

原创 java和java -version生效,javac不生效

解决方式:请使用系统变量设置jdk环境,不要使用用户变量现象:当使用绝对路径时,没有问题;但使用相对路劲时,javac不生效。环境变量设置的问题可以使用如下命令查看echo %path%如下图所示,相对路径没有转化成绝对路劲(不正常的模样)正常的模样...

2018-05-20 10:01:51 2025

原创 VS程序员注释宏使用

给Visual Studio添加一个工具条,工具条中实现三个功能(有三个按钮):1、AddCom;2、ModCom;3、DelCom。来说明本文:给Visual Studio添加工具条1)  打开Visual Studio的宏管理器:工具-宏-Macros资源管理器,点击【宏】,右键新建宏项目(名字为Samples),完成后,右键点击【Samples】-新建模块,名字为:VSEditor拷贝下面的...

2018-05-19 08:56:39 868

原创 VS程序猿开发注释

阿斯蒂芬

2018-05-16 16:09:17 229

原创 此主机支持Intel VT-x,但 Intel-x处于禁用状态

    第一部分:    1、关机,开机,在品牌商的logo 出现时候按 BIOS 的启动键(一般在logo 的下面有),进入 BIOS 设置页面;    2、选择 configuration ,再选择intel virtual technology ,此时该选项应该是disabled(关闭)的;    3、将disabled(关闭)改为 enabled(开启);    4、保存设置,重启即可。第...

2018-05-06 12:02:48 12574

原创 源码、反码和补码

数值的表示方式--原码、反码和补码     原码:最高位位符号位,其余各位为数值本身的绝对值    反码:        正数:反码与原码相同        负数:符号位为1,其余位对原码取反    补码:        正数:原码、反码、补码相同        负数:最高位为1,其余位为原码取反,再对整个输加1 97     0110 0001 0110 0001 0110 0001-31 ...

2018-05-05 17:26:11 492

原创 c语言内存检索和动态库注入

【背景】学习c语言的内存检索和动态库内存检索:内存检索,顾名思义,对某段内存进行遍历搜索动态库注入:动态库又称动态链接库英文为DLL,是Dynamic Link Library 的缩写形式,DLL是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件。动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个 DLL 中,该 DLL 包含

2017-11-28 01:06:53 1466

原创 找工作感悟

正式找工作的时间已经快十来天了,虽然这些天一直很忙,单今晚却突然闲下来了,就跟那天一样。闲得有点心慌,不知道该做些什么,投简历、准备明天的东西、总结今天的东西。总感觉自己有点浮躁了,好多公司还没开始呢?自己还要加油,机会还有很多,也有很多很好的机会就在前方,这口气不能松,工作只有更好的,而这关系到自己今后几年的大事,加油,刘亚新。找个好工作,证明自己。找工作的感悟:经历这段时间的找工作,自己有

2017-11-24 20:41:26 1311 1

原创 c++值构造函数和析构函数

1.类的构造函数和析构函数类的构造函数:函数名与类名相同,没有返回值的函数;一个类实例化为一个对象时自动调用;构造函数可以重载析构函数:与构造函数类似,只是在函数名钱多一个 ~ ,一个类只有一个析构函数,不能出现重载,在对象销毁时自动调用注意:由于在构造函数中会初始化一些类的成员指针,在析构函数中删除,因此在不同的构造函数中给类的成员指针分配内存时,一定要统一用new或new[]

2017-11-24 00:07:26 411

原创 开始学习c++

1.1c++的头文件】传统的c头文件,以 .h 结尾c++头文件hpp头文件1.2命名空间c++引入新概念,命名空间可以有效避免大型项目中的各种名称冲突class关键字class时c++的核心,时面向对象编程的核心内容1.3更严格的类型转化在c++中不同类型的指针是不能直接赋值的,必须强转1.4NEW和DELETEnew和delete时c++内建的操作符

2017-09-14 08:17:27 233 1

转载 AES加密原理

http://www.mamicode.com/info-detail-514466.html 0 AES简介   美国国家标准技术研究所在2001年发布了高级加密标准(AES)。AES是一个对称分组密码算法,旨在取代DES成为广泛使用的标准。   根据使用的密码长度,AES最常见的有3种方案,用以适应不同的场景要求,分别是AES-128、AES-192和AES-256。本文主要对AE

2017-04-05 16:12:35 7577

转载 ProGuard代码混淆技术详解

前言       受《APP研发录》启发,里面讲到一名Android程序员,在工作一段时间后,会感觉到迷茫,想进阶的话接下去是看Android系统源码呢,还是每天继续做应用,毕竟每天都是画UI和利用MobileAPI处理Json还是蛮无聊的,做着重复的事情,没有技术的上提升空间的。所以,根据里面提到的Android应用开发人员所需要精通的20个技术点,写篇文章进行总结,一方面是梳理下基

2017-04-04 10:46:05 642

原创 ContentProvide之手机联系人

1.系统联系人主要表的构成mimetype表:主要存储数据的mime类型data表:主要存储联系人的数据raw_contacts表:主要存储联系人的ID、姓名、删除标记contacts表:ID以及一些辅助信息2.使用ContentResolve访问系统联系人使用的帮助类--ContactsContract、ContentProviderOperation使用Contacts

2016-09-01 08:55:15 900 1

原创 Android之Activity生命周期

activity生命周期:onCreate()、onStart()、onResume()、onPause()、onStop()、onDestroy()、onRestart()activity生命周期线路:线路一:打开activity然后按back键:onCreate()-onStart()-onResume()-onPause()-onStop()-onDestroy()线路二:从一个

2016-09-01 08:27:04 249

原创 Android之ContentProvide(内容提供者)

ContentProvider使用方法。ContentProvide的使用涉及ContentProvider、 ContentObserver、 ContentReslover 、ContentValues、Cursor、Uri、UriMatcher以及数据库等。content Provider。它最大的特点是可以在应用之间共享数据1.定义自己的ContentProvide类,2.

2016-08-31 14:32:59 3606 1

原创 Apache HttpClient之Servelet

本篇文章采用apatche httpclient与远程服务器建立连接服务端:处理用户的Servelet只是前段控制器,它的作用主要有三个:1.获取请求参数2.调用业务逻辑组件的方法来处理用户请求3.根据处理结果进行输出由于Servelet都需要获取Spring容器中的业务逻辑组件,因此提供一个公共的基类,定义一个一个方法获取web应用中的spring容器。package

2016-08-28 13:49:10 734

原创 java的json

json是客户端与服务端通信时使用的一种数据格式。是一种与语言无关的数据交换格式。json主要有如下两种数据结构。1.由key-value对组成的数据结构2.有序集合  java的json支持主要依赖与JsonArray和JsonObject两个类。1.JsonArray代表一个json数组,他可以完成java集合与json字符串之间的转换2.JsonObject代表一个jso

2016-08-27 23:32:43 480

原创 Apache HttpClient

采用Apache HttpClient与远程服务器通信。为了简化HttpClient的用法,定义了一个工具类对HttpClient进行封装该工具类定义了如下两个方法来发送请求 getRequest():发送Get请求 postRequest():发送post请求package org.crazyit.auction.client.util;import java.util.ArrayLis

2016-08-27 20:44:12 513

原创 快速排序

基本思想:分而治之:1:分解:确定基准,将输入的序列分为两个序列,一个序列中任意元素都小于基准,一个序列中的任意元素都不小于基准2.递归求解:通过递归调用快速排序算法分别对子序列进行快速排序3.合并:将各个子序列合并成一个序列Java实现:package com.yaxin.sort;public class QuickSort { //对数组进行快速排序

2016-04-27 20:45:59 283

原创 数据结构之链表的增删操作的Java实现

链表是基本的数据结构特点:可以用任意蚁族存储单元来存储单链表中的数据元素   数据元素值、直接后继元素的信息-----节点Java实现单链表的增、删、排序、获取链表长度、打印链表package com.yaxin.linkedlist;public class MyLinkedList { Node head=null; //链表头的引用 /** * 向链表中插入数

2016-04-26 21:22:08 450

原创 c++内存管理

一:内存管理的形象说明二:内存的申请和释放(针对某一数据类型)注意:对申请的内存进行赋值通常有两种方式,在申请内存时直接赋值;或在申请内存后对指针进行赋值三:内存块的申请和释放注意:对块内存进行赋值,如上,指针与数组结合,理解指针与数组的区别的区别很重要,明明p是一个指针,为什么会有p[0]=1;这种复制方法,这与指针里面存储的内容是数组的首地址,而首地址加

2016-04-26 17:18:26 4107 2

原创 c++语言函数

一:函数参数默认值注意:从上诉demo可知为什么有默认参数值的参数必须在参数表的最右断;因为给函数赋值时是从函数的左边开始,依次向右二:函数重载注意:函数重载的实质就是同名不同参从demo的结果可以看出当参数的类型匹配优先;而当函数没有默认值时,函数参数的个数匹配优先(自动转换数据类型)三:内联函数

2016-04-25 23:45:15 1158

原创 c++语言const关键字

一:const与基本数据类型注意:const与基本数据类型中影响到的是存储内容二:const与指针类型  注意:const int x=3;   int  *y=&x;  这是错误的;因为可以通过*y对x进行操作;x只具有读权限,而*y具有读写操作    int x=3;     const int *y=&x;  这是可以的;通过对x的操作改变

2016-04-25 22:16:24 531

原创 c++之引用

一:基本数据类型的引用                                            二:结构体类型的引用                                                         三:指针类型的引用 四:引用做函数参数

2016-04-25 21:43:04 317

短消息长消息

短消息的长消息的规范。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2018-03-26

c++内存修改器-游戏

能锁定程序进行内存修改 可硬应用于平时的学习和开发

2017-11-24

c++开始使用spy

模拟点击操作,win32 api开发工具。UIA自动化测试工具。 提供了两种工具在压缩包内。

2017-11-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除