自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (4)
  • 收藏
  • 关注

原创 【开源代码阅读系列】之 cJSON

一. 各函数代码分析和介绍:static int cJSON_strcasecmp(const char *s1,const char *s2) : 不区分大小写,判断字符串s1和s2是不是相等,相等返回0,不等返回非0;static char* cJSON_strdup(const char* str) :创建内容和str一样的字符串,并返回创建后的指针;void cJSON_InitHooks(cJSON_Hooks* hooks) :这个是hook,也就是外部用户挂钩子函数,用于申请和释放

2021-01-16 16:56:50 636

原创 Python零散知识点

python学习基础知识点:以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入。以双下划线开头的 __foo 代表类的私有成员,以双下划线开头和结尾的 foo 代表 Python 里特殊方法专用的标识,如 init() 代表类的构造函数。[头下标:尾下标] 获取的子字符串包含头下标的字符,但不包含尾下标的字符。注意,这儿不是截取的长度而是下标。元组是另一个数据类型,类似于

2020-06-19 20:08:07 208

原创 学习shell中的一些注意点记录

#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。比如:#!/bin/bash注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。例如:your_name=“runoob.com”使用一个定义过的变量,只要在变量名前面加美元符号即可。推荐给所有变量加上花括号,这是个好的编程习惯。比如:your_name=“alibaba” echo ${your_name}单引号和双引号定义字符串时的区别:单引号里的任何字符都会原样输出,..

2020-06-18 22:07:54 190

原创 vim的一些常用配置

set nu "显示行数set hlsearch "高亮度查找set backspace=2 "可以使用退格键删除任意字符,当为01时,仅可删除输入字符,不可删除已存在的字符set autoindent "自动缩进set ruler "可显示最后一行状态set showmode "左下角那一行的状体set bg=dark "显示不同的底色色調syntax on "进行语法校验,颜色...

2020-01-18 21:44:18 158

转载 deepin fatal error: sys/cdefs.h: No such file or directory

https://blog.csdn.net/zhengqijun_/article/details/81334399问题描述fatal error: sys/cdefs.h: No such file or directory解决方法Try these:sudo apt-get purge libc6-devsudo apt-get install libc6-dev...

2019-12-09 01:49:58 312

转载 C语言可变参数函数取参方法

熟悉C的人都知道,C语言支持可变参数函数(Variable Argument Functions),即参数的个数可以是不定个,在函数定义的时候用(...)表示,比如我们常用的printf()\execl函数等;printf函数的原型如下:int printf(const char *format, ...);注意,采用这种形式定义的可变参数函数,至少需要一个普通的形参,比如上面代码中的*...

2018-08-19 18:04:17 1120

原创 Go web基础1

       Go中进行web开发是十分快捷和方便的,因为封装的比较好,并且,由于Go语言天生的并发性,这使得我们开发一个并发性很好的服务端很容易。我也是刚开始学习Go语言,这篇文章就是一个学习笔记,水平很菜,错误之处,还请各位看官指出!1.最简单的版本:package mainimport ( "net/http")func main() { http.HandleFun...

2018-08-07 14:19:06 298

原创 C++ 内联函数,宏定义函数和普通函数的区别:

这个问题是面试中经常遇到的,再一次华为的面试中面试官就问道我这个问题,当时,答的不是很好,甚至有些错误,特此根据自己的理解,总结一下。本人水平不高,有什么错误,欢迎提出!     首先,我们都知道C++从源代码到执行经过3个大体的步骤: 1.预处理,这个阶段主要是将宏定义的符号在源程序中进行替换,比图#define pi 3.1415,这个时期就是将源程序中的所有的pi这样的符号替换为3.1415...

2018-04-13 12:09:11 890

转载 C++工程师面经

    快要找工作了,将网上的一些关于C++的相关的面经写一下,以便自己复习准备!当然,这些都是结合网上其他大咖的,自己只是做个总结罢了,方便自己。http1.0,http1.1与http2.0的区别:https://mp.weixin.qq.com/s/GICbiyJpINrHZ41u_4zT-AC++中重写,重载,隐藏的区别:http://www.jb51.net/article/54225....

2018-04-01 16:28:28 3661

原创 离散对数之ElGamal 密码

   在讲ElGamal 密码之前,先温习一下基础的数学知识。我们在中学的时候都知道,X^y=n,则求y是很容易的,y=logy(n),但是,如果我们对这个n取模的话,要想求出这个y就是NPC问题了,很难求出了,这就是离散对数问题,因为,取模就是将连续数字离散化的过程。还需要掌握的数学知识有:群的概率,我这儿来一个百度上的解释:在数学中,群表示一个拥有满足封闭性、结合律、有单位元、有逆元的二元运算...

2017-10-22 12:30:48 1305

转载 MD5详解

这篇文章来自于“http://blog.sina.com.cn/s/blog_6fe0eb1901014cpl.html”之前要写一个MD5程序,但是从网络上看到的资料基本上一样,只是讲了一个大概。经过我自己的实践,我决定写一个心得,给需要实现MD5,但又不要求很高深的编程知识的童鞋参考。不多说了,直接进入正题。MD5算法是什么,MD5的历史由来等等我都不介绍了,想要了解的童鞋直接百度

2017-10-15 23:10:22 1223

原创 RSA密码

RSA就是公钥加密的经典。这个主要是基于大整数的素数分解问题,这个难题的。大概过程是这样的,首先,产生二个大素数p,q.然后计算n=p*q,则f=(p-1)*(q-1),然后,我们在<n中寻找一个数e,是的gcd(e,f)=1,gcd()函数就是求解最大公约数的函数,也就是e和f互素。这样,根据扩展的欧几里得算法,可以知道x*e+y*f=1,这个中的x=d,也就是d*e mod f=1,假如...

2017-10-15 16:19:03 540

转载 DES详解

1.DES算法简介  DES算法为密码体制中的对称密码体制,又被称为美国数据加密标准。  DES是一个分组加密算法,典型的DES以64位为分组对数据加密,加密和解密用的是同一个算法。  密钥长64位,密钥事实上是56位参与DES运算(第8、16、24、32、40、48、56、64位是校验位,使得每个密钥都有奇数个1),分组后的明文组和56位的密钥按位替代或交换的方法形成密文组。  

2017-10-15 15:47:43 4998 5

原创 c++之STL之pair,map

pair类型:下面是这个类型的一些操作:pair p1;创建一个空的pair类型,它的二个元素分别是T1和T2类型,采用的是值初始化。pair p1(v1,v2);创建一个pair类型,它的二个元素分别是T1,T2类型,其中first成员初始化为v1,seconde初始化为v2;make_pair(v1,v2) 以p1和p2创建一个新的pair类型,元素类型分别是v1和v2类型p1

2017-10-05 11:37:14 722

原创 八皇后问题

八皇后问题是一个经典的问题。问题的描述就是:在国际象棋棋盘上(8*8)放置八个皇后,使得任意两个皇后之间不能在同一行,同一列,也不能位于同于对角线上。问共有多少种不同的方法,并且指出各种不同的放法。这个题的思路,可能,首先让人想到的就是穷举法,这样就需要8重循环,这个能做,但是,有点慢,如果,我们改为n皇后问题呐,这个方法就不适用了。有一个算法思想很适合这个问题的求解,就是“摸着石头过河”的图的遍...

2017-09-29 19:29:38 323

原创 2015华为校招机试题

第一题(60分):       按要求分解字符串,输入两个数M,N;M代表输入的M串字符串,N代表输出的每串字符串的位数,不够补0。例如:输入2,8, “abc” ,“123456789”,则输出为“abc00000”,“12345678“,”90000000代码:#include#include#include//华为2015年第一道上机题; void shuchu(

2017-09-29 18:04:26 262

原创 c++中的顺序容器

c++中的容器有顺序容器和关联容器,顺序容器中有vector,list,deque这三种,我个人的理解,vector就像是c语言中的数组,当然,这个使用起来是比数组方便很多,集成度更高,list就是数据结构中的链表,而deque则就是数据结构中的双端队列。顺序容器适配器;stack这就是数据结构中的栈,queue这就是数据结构中的队列,还有有优先级管理的队列,priority_queue,这些都是

2017-09-20 20:40:09 284

原创 c++中的重载

出现在相同作用域的二个函数如果具有相同的名字而形参不同,则称为重载函数。在这个定义中有二个注意点:1.是在相同的作用域,如果,不在相同的作用域,即使形参不同zhe,也不算作是重载函数:比如一下的例子:void print(const string &s) void print(double d) void f(int value) {  void print(i

2017-09-19 17:39:46 362

原创 const引用

const引用就是指“指向const对象的引用”,而“非const引用”表示的就是指向非const类型的引用。比如: string s="hello"; string &ss=s;//正确 string &sss="world";//不正确,编译器会报错,因为你将一个const char *要赋值给一个std::string &型,这是不被允许的,也就是将一个只读的字符串赋值给一个

2017-09-17 13:27:49 2214

原创 c++中的const成员函数

const成员函数就是在正常的成员函数后面加上了const,这样的目的就是告诉编译器在这个函数中不能修改类中的成员变量,这是通过改变隐含的this形参的类型,使之指向一个只读的对象来完成的。当然,要注意的是,是在本函数内部无法修改类中的成员变量,不是针对整个类或者其他函数的。#include#includeusing namespace std;class f{ priva

2017-09-17 13:07:36 204

原创 c++中点操作符(.)和箭头操作符(->)的区别

这二个的区别其实很简单,首先,这二个操作符都是为了获取类类型对象的成员,但是,有区别,点操作符的左操作数是对象,而箭头操作符是指针。 看下面的一个例子: Sales_item是一个类名,same_isbn()是这个类的成员函数; Sales_item item(); Sales_item *sp=&item;(*sp).same_isbn();如果你在写的时候漏掉了这个指针

2017-09-17 11:59:02 1351

翻译 c专家编程

近来,看了一下《c专家编程》这本书,还是有一点收获吧!也许,我的水平还不适合读这本书吧!但是,将书中的一些注意点记在这儿。1.要使二个赋值形式合法,必须满足一下条件:二个操作数都是指向有限定符或者无限定符的相容类型指针,左边指针所指向的类型必须具有右边指针指向类型的全部限定符。比如:char *cp;const char *cpp;cpp=cp;这样就是可以的,如果cp=cpp

2017-09-15 15:25:03 322

转载 java多线程详解

本文是转载文章,原文出自:http://blog.csdn.net/evankaka 作者:  林炳文,细心看了特别好的文章,再次感谢原作者.下面是正文:目录(?)[-]一扩展javalangThread类二实现javalangRunnable接口三Thread和Runnable的区别四线程状态转换五线程调度六常用函数说明使用方式为什么要用join方法七常见线程名词解释

2017-03-25 20:46:42 365

转载 java volatile

本文属于转载文章,原文链接:http://www.cnblogs.com/dolphin0520/p/3920373.html ,我读了,很好!感谢原创作者!volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。volatile

2017-03-25 16:43:30 431

系统文件libeay32.dll

32位和64位的libeay32.dll文件: 32位的放置在:C:\Windows\SysWOW64 64位的放置在:C:\Windows\System32

2019-03-08

ssleay32.dll

32位和64位得ssleay32.dll文档:32位得放置在: C:\Windows\SysWOW64 64位得ssleay32.dll放置在 C:\Windows\System32

2019-03-08

javaweb开发中会使用到的jar包

这是我在Java开发中使用到的jar包,里面有很多jar包。可能会有你用到的。欢迎下载

2018-06-19

List转化为json的jar包

本人使用过,可以的。是List转化成json时的jar包。欢迎下载使用。

2018-06-19

空空如也

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

TA关注的人

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