- 博客(488)
- 资源 (55)
- 收藏
- 关注
原创 linux 安装protobuf
下载protobuf:安装依赖解压,进入目录,,生成配置脚本生成Makefile文件从Makefile读取指令, 安装更新共享库缓存查看软件的安装位置,是否安装成功
2022-09-02 14:25:15
1205
原创 beego禁用3DES和DES弱加密算法--SSL/TLS协议信息泄露漏洞(CVE-2016-2183)【原理扫描】(二)
程序代码nmap重新扫描
2022-08-31 15:11:28
1079
原创 Linux服务器上测试TCP/UDP端口的连通性
测试tcp端口的连通性:使用nc命令来测试udp端口的连通性:使用nc命令来测试tcp端口的连通性:
2022-08-02 15:58:45
7004
原创 漏洞修复---SSL/TLS协议信息泄露漏洞(CVE-2016-2183)【原理扫描】(一)
环境当前系统当前openssl 版本openssl和gcc下载地址安装gcc(root权限)安装openssl(root权限)安装移除老版本openssl配置lib库查看版本
2022-07-04 14:55:14
4100
1
转载 Go-加密学(七) - 证书吊销列表(CRL)
一、证书吊销列表(CRL)二、证书吊销列表(CRL)与证书状态在线查询协议(OCSP)三、证书吊销列表(CRL)的作用
2022-06-16 17:35:41
1736
原创 Go-加密学(六) - BEGIN CERTIFICATE、BEGIN RSA PRIVATE KEY和BEGIN PRIVATE KEY的区别
1.1、-----BEGIN CERTIFICATE-----格式密钥:1.2、-----BEGIN RSA PRIVATE KEY-----格式:1.3、-----BEGIN PRIVATE KEY-----格式:
2022-06-15 15:57:13
5214
原创 influxdb2安装
1. 下载influxdb2 Index of /influxdata/yum/el7-x86_64/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror csdn下载地址:influxdb2-2.1.1.x86_64安装包rpm2. 安装influxdb2rpm -ivh influxdb2-2.1.1.x86_64.rpm安装完成warning: influxdb2-2.1.1.x86_64.rpm: Header V4...
2022-03-24 18:57:06
4091
原创 C++笔记--strcpy, strncpy, memcpy(16)
目录strcpy:strncpy:memcpy:strcpy: 最常用的字符串拷贝函数,但是要注意这个函数不会自己判断源字符串是否比目标空间大,必须要程序员自己检查,否则很容易造成拷贝越界,下面是几个例子:char *a = "0123456789", *b = "abcdefghijk"; char c[5];输出: strcpy(c,a)=0123456789//数组c只有5个字节的空间,但是经过strcpy后a的剩余字符也拷贝过去了,如果c后面是...
2021-09-15 16:07:05
282
1
原创 Qt实现贪吃蛇简单示例
目录Qt实现贪吃蛇简单示例说明开发工具示例效果代码地址Qt实现贪吃蛇简单示例说明 示例实现一个贪吃蛇示例,还有需要问题需要修改,简单运行没有问题 已测试window10/mac/linux,均可运行开发工具 Clion2021.2, Qt5.12示例效果代码地址https://gitee.com/erchong2016/TanChiShe.git感觉对自己有帮助的话给个赞...
2021-08-17 17:44:22
2943
1
原创 suse 编译QT出现Failed to find “GL/gl.h“ in “/usr/include/libdrm“
openSuse 编译QT项目出现Failed to find "GL/gl.h" in "/usr/include/libdrm"zypper install Mesa-libGL-devel
2021-08-17 17:33:22
609
原创 C++笔记--Linux网络编程(15-0)-socket(供自查,文档说明)
传智播客C++学院网络基础协议的概念什么是协议从应用的角度出发,协议可理解为“规则”,是数据传输和数据的解释的规则。假设,A、B双方欲传输文件。规定:第一次,传输文件名,接收方接收到文件名,应答OK给传输方;第二次,发送文件的尺寸,接收方接收到该数据再次应答一个OK;第三次,传输文件内容。同样,接收方接收数据完成后应答OK表示文件内容接收成功。由此,无论A、B之间传递何种文件,都是通过三次数据传输来完成。A、B之间形成了一个最简单的数据传输规则。双方都按此规则发送、接收数据。A、B之间
2021-08-10 21:10:13
630
原创 原创 C++笔记--Linux网络编程(15)-socket
TCP/IP与socket通过进程间通信可以实现同一台计算机上不同的进程之间通信通过网络编程可以实现在网络中的各个计算机之间的通信进程能够使用socket实现和其他进程或者其他计算机通信同样的socket既可以实现进程间通信,也可以实现计算机之间通信socket是通信端点的抽象。 与文件描述符一样,socket需要使用socket描述符socket在Linux上也是通过文件实现的,所以传统...
2021-08-09 21:45:50
371
原创 C++笔记--Linux编程(14)-线程同步
线程同步技术说明线程共享进程的内存空间,打开的文件描述符,全局变量。当有多个线程同时访问一块内存空间或者一个变量、一个文件描述符,如果不加控制,那么可能会出现意想不到的结果。互斥互斥(mutex)是相互排斥的意思,它是一种锁或者信号灯。互斥用来保护多个线程共享的数据和结构不会被同时修改,一个互斥锁只能有两个状态 locked---加锁unloc...
2021-08-08 15:10:58
164
原创 C++笔记--Linux编程(13)-守护进程-线程
进程组概念和特性每个进程都属于一个进程组,在waitpid函数和kill函数的参数中都曾使用到。当父进程,创建子进程的时候,默认子进程与父进程属于同一进程组。进程组ID==第一个进程ID(组长继承)。所有,组长进程表示,其进程组ID==其进程ID 可以使用kill-SIGKILL-进程组ID来将整个进程组内的进程全部杀死 组长进程可以创建一个进程组,创建该进程组中的进程,然后终止。只要进程组中有一个进程村庄,进程组就存在,与...
2021-08-07 22:03:22
862
原创 C++笔记--Linux编程(11)-进程通信
无名管道无名管道无名管道是半双工的,就是对于一个管道来讲,只能读,或者写。无名管道只能在相关的、有共同祖先的进程间使用。一个fork或者exec调用创建的子进程继承了父进程的文件描述符。打开和关闭管道int pipe(int filedes[2]);在你从一个管道中读出或者写入数据,这个管道必须存在。如果成功建立了管道,则会打开两个文件描述符,并把它们的值保存在一个整数数组中。第一个文件描述符用于读取数据,第二个文件描述符...
2021-08-03 21:45:52
326
原创 C++笔记--Linux编程(10)-进程控制 fork系统调用
Linux进程模型传统的Linux模型里有三种创建或者修改进程的操作 1.system用于调用shell,执行一个指定的命令; 2. fork用于创建一个新的进程,该进程几乎是当前进程的一个完全拷贝; 3. exec可以在进程中用另外的程序来替换当前运行的进程什么是进程进程是一个正在执行的程序实例,他也是Linux基本的调度单位,一个进程由如下元素组成进程的当前上下文(context),它是进程当前执行状...
2021-08-01 20:28:19
618
原创 C++笔记--Linux编程(9)-linux文件和输入输出 文件和目录操作
Linux文件概念Linux系统上的文件部分类型说明普通文件。就是储存到磁盘上大家所操作的各种数据文件;管道文件。是一个从一端发送数据,从另一端接收数据的通道;目录也叫目录文件,是包含了保存在目录中文件的列表;设备文件是一种特殊文件,提供了大多数物理设备的接口;符号链接包含了到另一个人文件的连接,类似于windows的快捷方式;套接口套接口更像管道文件,但可以让...
2021-07-31 13:23:24
548
原创 C++笔记--Linux编程(8)-gcc gbb make
gcc使用gcc,程序员可以对编译过程有更多的控制,编译过程分为3个阶段。-预处理-汇编-链接程序员可以再编译的任何阶段结束后停止整个编译过程以检查编译器在该阶段输出的信息示例#include <stdio.h>int main(int arg, char *args[]){ if (arg < 3) printf("请输入2个参数\n"); else { int a = atoi(args[1]); int b = atoi(args[
2021-07-31 11:15:42
166
原创 C++笔记--STL编程(7)
Vectorvector是一个模板类。。在使用模板类的时候,需要指明具体的类型例如vector<int> v1(5); //相当于 int v1[5];示例#include "vector"using namespace std;int main() { vector<int> arr(5); arr.push_back(1); for(int i=0; i<arr.size(); i++) { cou.
2021-07-25 09:28:04
123
1
原创 Clion(CMake工具)中创建父子项目,引入第三方库的方法
环境C/C++ Clion Mac创建父/外层项目创建外层项目,选择C++Executable,命名20210717创建子项目/库项目创建目录,命名hello_libhello_lib目录下创建hello_dll.h hello_dll.cpp CMakeLists.txt文件hello_lib.h#ifndef INC_20210717_HELLO_DLL_H#define INC_20210717_HELLO_DLL_Hint add(int ...
2021-07-17 19:08:08
3112
1
原创 C++笔记--面向对象(OOP)编程基础(new/delete、类的静态成员、C++编译器对象管理模型分析)(3-2)
面向对象(OOP)编程基础(new/delete、类的静态成员、c++编译器对象管理模型分析)
2021-07-13 21:05:50
211
原创 C++笔记-面向对象(OOP)编程基础(概念、类中的封装;类的构造和析构)--赋值构造函数四种应用场景 深copy和浅copy 类的三种构造函数的调用规则研究(3-1)
赋值构造函数三种应用场景类定义class Student { private: int a; public: Student(); Student(int a); Student(const Student &student); ~Student();};类实现#include "Student.h"#include "iostream"using namespac
2021-07-11 21:18:44
159
原创 C++笔记--关于string, char*, char[]中的‘\0’问题(2-3)
const char* 字符串 以 “\0”结尾 char[] 字符串 以 “\0”结尾 string 字符串 不以 “\0”结尾 char[n] = "string", 当string 长度+“\0”>n时,会因空间不足出错 string.c_str() 转 const char* 时, 会在字符串末尾 自动补“\0” char* 转string 时, 会自动把末尾的 “\0” 去掉 strlen()是取字符串除去结尾符 “\0” 的长度 sizeof()是包含‘\0’的长度 带有‘
2021-07-10 21:18:56
3618
原创 C++笔记--读写配置文件(2-2)
读写配置文件头文件// cfg_op.h#ifndef _INC_CFG_OP_H#define _INC_CFG_OP_H#ifdef __cplusplusextern "C" {#endifint GetCfgItem(char *pFileName /*in*/, char *pKey /*in*/, char * pValue/*in out*/, int * pValueLen /*out*/);//int WriteCfgItem(char *pFileName.
2021-07-09 20:31:16
337
原创 C++笔记--内联函数 类的封装 构造函数(2-1)
1内联函数1)内联函数在编译时直接将函数体插入函数调用的地方2)inline只是一种请求,编译器不一定允许这种请求3)内联函数省去了普通函数调用时压栈,跳转和返回的开销2类的封装1 基本概念//类是把属性和方法封装。。。//类的内部//类的外部//我们抽象了一个类,用类去定义对象//类是一个数据类型,类是抽象的//对象是一个具体的变量。。占用内存空间。//类做函数参数的时候,类封装了属性和方法,在被调用函数里面, 不但可以使用属性,而且可以使用方法(成员...
2021-07-01 21:43:23
153
1
原创 C++笔记--引用(1-5)
1 引用(普通引用)0 变量名回顾变量名实质上是一段连续存储空间的别名,是一个标号(门牌号)程序中通过变量来申请并命名内存空间通过变量的名字可以使用存储空间1 引用是C++的概念,属于C++编译器对C的扩展2 引用概念在C++中新增加了引用的概念 引用可以看作一个已定义变量的别名 引用的语法:Type& name = var; 引用做函数参数那?(引用作为函数参数声明时不进行初始化)int main(){ int a = 10; int &b
2021-06-27 18:17:28
172
1
转载 C++笔记--const(1-4)
1 const基础知识(用法、含义、好处)int main(){const int a;int const b;const int *c;int * const d;const int * const e ;return 0;}Int func1(const )初级理解:const是定义常量==》const意味着只读含义://第一个第二个意思一样 代表一个常整形数//第三个 c是一个指向常整形数的指针(所指向的内存数据不能被修改,但是本身可以修改)//第四.
2021-06-27 13:09:48
139
原创 C++笔记--bool类型(1-3)
C++中的布尔类型C++在C语言的基本类型系统之上增加了boolC++中的bool可取的值只有true和false理论上bool只占用一个字节,如果多个bool变量定义在一起,可能会各占一个bit,这取决于编译器的实现true代表真值,编译器内部用1来表示false代表非真值,编译器内部用0来表示bool类型只有true(非0)和false(0)两个值C++编译器会在赋值时将非0值转换为true,0值转换为falseint main(int argc, char *ar
2021-06-27 09:28:40
373
原创 C++笔记--语法增强(1-2)
1实用性”增强//C语言中的变量都必须在作用域开始的位置定义!!//C++中更强调语言的“实用性”,所有的变量都可以在需要使用时再定义int main(){ int i = 0; printf("ddd"); int k; system("pause"); return 0;}2register关键字增强//register关键字 请求编译器让变量a直接放在寄存器里面,速度快//在c语言中 register修饰的变量 不能取地址,但是在c++里面做了内容/*..
2021-06-27 08:51:03
117
原创 C++笔记--namespace概念(1-1)
1 namespace概念所谓namespace,是指标识符的各种可见范围。C++标准程序库中的所有标识符都被定义于一个名为std的namespace中。一 :<iostream>和<iostream.h>格式不一样,前者没有后缀,实际上,在你的编译器include文件夹里面可以看到,二者是两个文件,打开文件就会发现,里面的代码是不一样的。后缀为.h的头文件c++标准已经明确提出不支持了,早些的实现将标准库功能定义在全局空间里,声明在带.h后缀的头文件里,c++标准为了和
2021-06-27 08:14:59
118
GJB军用软件开发文档.zip
2021-03-16
kibana-7.9.1-x86_64.rpm
2020-10-23
elasticsearch-7.9.1-x86_64.rpm
2020-10-23
filebeat-7.9.1-x86_64.rpm
2020-10-23
mysql-installer-community-5.6.11.0.msi
2020-09-15
keepalived.zip
2019-10-16
OpenIPMI-modalias-2.0.23-2.el7.x86_64.rpm
2019-08-26
HLBluetoothDemo-master
2016-06-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人