自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (20)
  • 收藏
  • 关注

转载 socket开发中INADDR_ANY"的含义是什么?

INADDR_ANY:转换过来就是0.0.0.0,泛指本机的意思,也就是表示本机的所有IP。因为有些机子不止一块网卡,多网卡的情况下,这个就表示所有网卡ip地址的意思。比如一台电脑有3块网卡,分别连接三个网络,那么这台电脑就有3个ip地址了,如果某个应用程序需要监听某个端口,那他要监听哪个网卡地址的端口呢?如果绑定某个具体的ip地址,你只能监听你所设置的ip地址所在的网卡的端口,其它两块网卡...

2018-12-27 22:32:36 279

原创 内存检查工具valgrind介绍、安装与使用

一、valgrind介绍1、valgrind概述Valgrind是一套Linux下,开放源代码的仿真调试工具的集合。Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework),它模拟了一个CPU环境,并提供服务给其他工具;而其他工具则类似于插件 (plug-in),利用内核提供的服务完成各种特定的内存调试任务。Valgrind的体系结构如下...

2018-12-24 23:44:47 17153 1

原创 GDB的使用

1、介绍:gdb是unix即unix-like下的调试工具。你可随心所欲的运行程序、指定断点处停留、程序停住是可查看状态、可以改变程序讲一个bug的影响修正从而调试其他bug。2、注意事项:必须用-g生成要调试的可执行文件,-g表示带调试信息。g++ -g gdbtest.cpp –o main3、基本调试语法:(1)进入gdb—— gdb/gdb test/gdb test...

2018-12-24 17:02:08 143

原创 GDB定位coredump

这篇文章主要讲GDB和coredump两个方面。一、coredump1、coredump简介(1)、 core,又称coredump文件,准确来讲是Unix/Linux的记录机制产生的一种保存程序崩溃时现场状态的记录性文件。(2)、为何需要这种记录机制?原因很简单,程序在在正常执行的时候当然是皆大欢喜,但是如果程序出现致命性错误难道不要保存一些现场信息已被分析使用吗!!Unix/...

2018-12-24 16:30:50 12103 4

原创 strace的简单用法

Linux下,进程不能直接访问硬件设备。当进程需要访问硬件设备时(读取磁盘文件、接收网络数据等),则必须由用户态切换为内核态,然后通过系统调用来访问硬件设备。strace是跟踪进程执行时的系统调用和所接收的信号(即它跟踪到一个进程产生的系统调用,包括参数、返回值、执行消耗的时间)。strace最简单的用法是执行一个指定的命令(过程中,starce会记录和解析命令进程的所有系统调用及这个进程的所有的...

2018-12-24 10:39:22 28308 1

原创 关于makefile的使用

什么是makefile?对于Winodws程序员来说可能很陌生,因为windows的IDE已经把所有的工作都做好了,你只需要点击各个俺舅舅可以了。但是对于一个Unix/Windows程序员来讲makefile则是必须要懂的。结合makefile的大多应用场合我们可以说:会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。因为,makefile关系到了整个工程的编译规则。...

2018-12-23 14:20:01 190

原创 关于map的几种非常规排序

map是用来存放<key, value>键值对的数据结构,可以很方便快速的根据key查到相应的value。假如存储学生和其成绩(假定不存在重名,当然可以对重名加以区分),我们用map来进行存储就是个不错的选择。 我们这样定义,map<string, int>,其中学生姓名用string类型,作为Key;该学生的成绩用int类型,作为value。这样一来,我们可...

2018-12-22 14:15:51 401

原创 关于vector的两个问题(reserve方法&修整过剩空间)

关于vector的问题其实还是很多的。例如初始化、遍历、查找(find函数)、删除(erase和pop_back)、增加(insert和push_back)、清空(clear)、判空(empty)、大小(size)、容量(capacity)在这里就不说了。这次主要说两个问题:vector的内存分配(reserve)和使用“交换技巧”来修正vector过剩的空间/内存。0、关于vector再多说.........

2018-12-21 22:14:05 2662

原创 如何在linux中也能够使用自动类型推导关键字auto?

其实这个问题不应该这样问。是编译器支持auto关键字的而不是linux系统(此处意为直接支持)。所以你应该问如何让自己的g++编译器支持C++11标准。这样的话问题就很简单了。//第一种,直接包含在源程序文件中,如第一行代码所示#pragma GCC diagnostic error "-std=c++11"#include &lt;iostream&gt;using namesp...

2018-12-20 23:02:18 532

原创 typedef struct引起的结构体问题

原来一直认为结构体定义只有struct开头的方法。今天看一本书突然看到typedef struct开头的结构体定义方式吧自己搞的一脸懵逼。既然如此那就看看吧!!先来看看C语言中的结构体变量的三种方法:1、先定义结构体类型,再定义变量注:注意在C语言中定义结构体变量的时候是struct student打头的。struct student{ int num; cha...

2018-12-20 22:22:29 408

原创 C++字符串与C字符串的相互转换问题

第一部分:将 char *  或者 char []  转换为  string——直接赋值即可转换。第二部分:将string转换为char * 或者char [] 。string 是c++标准库里面其中一个,封装了对字符串的操作 把string转换为char* 有  3种方法:data()/c_str()/copy(). 1.  调用  string的data()函数(1)以...

2018-12-20 18:45:06 1005

原创 输入输出运算符的重载

运算符重载相信大家都不陌生。运算符函数通常分为两种形式:一类是在类中定义的运算符成员函数,称之为类成员运算符;另一种在类之外定义的运算符重载,通常以该类的友元形式,称之为友元运算符。1、重载输入输出运算符的形式。常见的形式如下:类型中声明友元函数(友元函数必须在类中声明)class Complex{ public: Complex( double r=0,...

2018-12-20 18:01:05 11113

原创 VIM锁屏与解锁

Windows用惯了,使用VIM的时候经常按Ctrl+S的时候被锁住。现在记录一下提醒一下自己。在vim中:使用 CTRL+s 可以锁屏使用 CTRL+q 可以解锁。PS:ctrl+z停止进程后, 用fg恢复。...

2018-12-20 13:51:42 1306

原创 do...while(); 语句在宏定义中的应用。

首先声明一下do...while语句的原型:(注意最后位置需要一个分号,这个特性带来一些好处)do{ /*循环体*/}while(condition);如果你是C++程序员,我有理由相信你用过,或者接触过,至少听说过MFC, 在MFC的afx.h文件里面, 你会发现很多宏定义都是用了do…while(0)或do…while(false), 比如说:#define AFXASS...

2018-12-18 17:29:17 742

原创 IPC之共享内存

一、说明内存共享:两个进程可以直接共享访问同一块内存区域,其最突出优点是效率高,是常用的IPC方式之一。                                                                                            两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可...

2018-12-10 23:16:15 675

转载 再谈互斥锁与条件变量!(终于搞清楚了啊!!!!!)

1、pthread_cond_wait总和一个互斥锁结合使用。(1)在调用pthread_cond_wait前要先获取锁。(为了防止多个线程同时请求pthread_cond_wait)(2)pthread_cond_wait函数功能:先原子地 1)把调用线程放到等待条件的线程列表上 2)释放指定的锁以供其他线程(生产者)添加任务——&gt;然后就是等待条件变量的变化(任务添加完毕)——&g...

2018-12-09 22:26:45 815

转载 信号量——内核信号量、POSIX信号量、system V信号量

一.什么是信号量?信号量广泛用于进程或线程间的同步和互斥,信号量本质上是一个非负的整数计数器,它被用来控制对公共资源的访问。编程时可根据操作信号量值的结果判断是否对公共资源具有访问的权限。当信号量值大于0时则可以访问;若为0说明资源正被占用,测试的线程将回阻塞(进入睡眠队列中等待被唤醒)。PV 原语是对信号量的操作:一次 P 操作使信号量减1,一次 V 操作使信号量加1。二.信号量的分...

2018-12-09 19:19:24 2606 2

原创 空类型(void *)的简单理解

(void *)是一个指针类型,又名空指针/空类型指针/无类型指针。既然是指针那么它就是一个存地址的变量!32位系统下sizeof(ptr)就是4字节,64位系统下sizeof(ptr)就是8字节(注:这个ptr可以使各种类型的指针,均是如此)。因此判断一个系统位数的最科学方法就是sizeof(ptr)。见程序1。C中规定void类型的指针可以强制转化为任意的其他类型指针使用。原因其实就是前面...

2018-12-08 22:31:18 7649 2

MD5 C++程序算法实现

关于md5的原理可以参照这边文章 https://blog.csdn.net/mijichui2153/article/details/81051356?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%2281051356%22%2C%22source%22%3A%22mijichui2153%22%7D。本资源提供了两个计算MD5加密程序的C++代码实现以及可执行文件。两个程序分别是text_md5.cpp和file_md5.cpp。前者编译后得到的可执行文件可以对输入的字符o文本计算其MD5值并输出;后者的编译后的可执行文件对输入的文件(输入当前路径下文件路径即可)计算md5值并输出。相信有了这个实例后你会对md5加密算法有更直观的理解。当然如果使用过程中有问题也可以私信博主,我看到后会第一时间回复。

2022-11-28

互联网大厂面经/面试 智力题整理 后台开发 C++ 春招 秋招 社招 笔记整理 大厂面试整理

整理了十几道互联网公司面试常见的智力题,其中有些是华为、腾讯面试中出现的,面试前强烈建议过一遍。注意:面试官看重的是思路,如果碰到原题要故作思考不要立马给出答案效果更好。

2022-11-27

matlab操作agistk重要程序段梳理

matlab+agi联合仿真重要操作程序梳理

2022-11-25

pthread_create传递参数(线程函数传递参数示例)

向线程函数传递参数的程序示例; 一个资源包,执行 tar zxvf example.tar.gz 解压资源; 复制readme.txt中的编译语句,编译得到可执行程序threadtest; ./threadtest 执行皆可看到效果。

2022-04-28

cpp_sendrecv.zip

对应 C++ 简易TCPClient实现及简要特性测试 的代码

2021-12-26

cap抓包case.zip

cap抓包case.zip

2021-12-14

protobuf根据DebugString输出字串反解pb对象的实例(C++)

使用过protobuf的同学肯定对pb的DebugString相关方法再熟悉不过了,其作用就是打印输出pb对象。有些时候我们可能会有根据这个输出还原原始pb对象的需求。仔细观察发现输出并不是标准json格式,也就是说基于json→pb的路子是行不通的了。难道就没有其他办法了吗?答案是有的,本实例就提供了转换方法。使用过程中如果有什么问题可以私信博主,我看到后会第一时间解答。

2021-10-21

基于protobuf反射特性的pb、json相互转换的实例程序(C++)

关于protobuf的反射特性可以参照这篇文章 https://blog.csdn.net/mijichui2153/article/details/111665192。 本资源提供了一个基于protobuf反射特性的pb结构与json相互转换的实例,该实例程序主要有两个核心函数myMessage2Json、myJson2Message。前者的作用是将pb结构转换成对应的json,后者是将json转换成对应的pb结构体。代码中也对关键处理步骤进行了注释说明,相信有了这个实例后json、pb相互转换对你来说将变得一目了然。 使用过程如果有问题可以私信博主,我看到后会第一时间解答。

2021-10-21

libcurl使用实例、基于libcurl封装的方便用户使用的easy_curl类 以及该类的使用实例

文件总共包括三个部分。第一部分是基于原生libcurl的上传、下载操作分别对应源文件rawcurl_get.cpp/rawcurl_put.cpp和 rawcurl_get/raw_curl_put可执行文件;第二部分是基于原生libcurl封装得到的方便用户使用的EasyCurl类的源文件(easycurl.cpp/easycurl.h),该源文件经过经过业务考验是相对成熟可靠的。在使用方面屏蔽原生libcurl的诸多内部机制,使用者关注的只是HttpGet、HttpPost、HttpPut接口。第三部分就是基于EasyCurl的上传、下载使用实例(easycurl_get.cpp、easycurl_put.cpp)。 如果使用中有什么问题也可以私信博主,我看到后会第一时间解答。

2021-10-21

解析amr文件时长c++实例代码(包含arm语音文件实例)

C++语言解析amr文件(ptt语音文件)时长的实例代码(包含arm实例文件),资源包括解析源码、用于测试的amr语音文件以及编译出来的可执行文件。

2021-10-21

Protobuf使用手册.doc

protobuf使用手册,包含protobuf的常见使用方法、内部原理实现的介绍、使用经验建议等。分别介绍了protobuf在c++、python、java的使用。

2020-03-28

hmac.tar.gz

即基于Hash的消息鉴别码。是一个小的hmac算法的C++实例,可以用来在C++中体验hmac算法。

2020-03-08

Protobuf使用手册.doc

Protobuf使用手册,有很多实例,是入门学习protobuf的好资料。

2019-08-25

VMwareTools-10.2.0-7259539.tar.gz

解决安装vmwaretool的时候VMwareTools-10.2.0-7259539.tar.gz文件不存在的情况。下载此zip文件解压后的到VMwareTools-10.2.0-7259539.tar.gz就是好用的。

2018-12-08

libbsd-0.8.3-1.el7.x86_64安装依赖库

Unix环境高级编程需要用到的libbsd依赖库,此处是libbsd-0.8.3-1.el7.x86_64版本的安装依赖库,亲测好用。

2018-09-26

Unix环境高级编程第三版源码与源码配置说明

Unix环境高级编程第三版源码与源码配置说明。网上的好多配置说明实际操作起来都会好脆县这样那样的问题,而这里的配置说明是亲自尝试ok的。

2018-09-26

stateflow逻辑系统建模_张威.pdf

西安电子科技大学出版社的stateflow逻辑系统建模,是学习stateflow男的的学习资料。

2018-09-22

valgrind-3.11.0.tar.bz2

亲测好用的valgrind-3.11.0.tar.bz2。下载下来后先解压达到他的里面的“valgrind-3.11.0.tar.bz2”文件,直接安装使用就好了。安装和使用方法参照https://blog.csdn.net/mijichui2153/article/details/81737599

2018-08-16

Maven+SpringMVC+Dubbo 简单的入门demo配置

Maven+SpringMVC+Dubbo 简单的入门demo配置 源码,,,亲测好用。 具体说明可见这篇转载过来的文章:https://blog.csdn.net/mijichui2153/article/details/81711480

2018-08-15

maven+springmvc+dubbo+zookeeper的生产消费者模型。

这是一个maven+springmvc+dubbo+zookeeper的模型包括生产者、消费者、接口等。其实现可参考https://blog.csdn.net/mijichui2153/article/details/81102277。

2018-08-14

dubbo-admin-2.5.7

dubbo-admin-2.5.7,,,支持JDK1.8.亲测好用!!!!!!!

2018-08-13

SpringMVC demo

这个一个SpringMVC的实例项目,项目非常的简洁易懂。项目介绍等可参照https://blog.csdn.net/mijichui2153/article/details/81634264

2018-08-13

mysql-connector-java-8.0.11.jar

mysql-connector-java-8.0.11.jar java连接mysql所需要的connector!!

2018-08-05

空空如也

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

TA关注的人

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