自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 stl中 map ,unordered_map . hash_map插入,查询,对比测试结果

map:map内部实现了一个红黑树 所有元素都是有序的。hash_map:unordered_map:内部实现了一个哈希表 其元素的排列顺序是无序的。std::map 所有元素都是有序(红黑树)tr1::unordered_map元素的排列顺序是无序的(哈希表)测试一:O1编译插入10000000次map类型 插入int 插入std::string 全部查找int 全部查找std::stringstd::map 10.8376 sec 21.5493 sec 5.74504 sec 15

2020-09-23 11:51:59 777

原创 Windows dll的一些不为人知的设置

无论c或c++都会对导出函数改名或不改名,无论你是静态还是动态调用一个导出函数,都可能碰上改名后导致的调用失败(甚至可能是调用约定不同而导致清理堆栈出错,造成崩溃),下面分析一下改名和调用约定之间的关系。 一.先说extern c。 其含义是指,按c的方式编译代码。在vs7及以后的vs中,有编译选项可以直接选择“编译为:c代码”(在工程属性----》c/c++--...

2020-05-05 16:57:19 253

原创 程序员选择行业是否重要

为什么会想到这个话题呢?想想自己已经从事C++开发有6年的时间了,每换一份工作都是一种新的行业。 刚毕业的时候从事的是制造业,用的是Borlan c++ Builder,主要是针对硬件的测试需要写对应的程序去测试。平台主要是windows,所用的技术主要还是文件读写,socket通讯,多线程以及同步问题,STL里面的数据结构,像array、vector、map。严格来讲所在部门并没有...

2020-05-05 16:51:16 447

转载 RDP协议分析

https://blog.csdn.net/zhangchilei/article/details/49023783

2018-08-16 10:25:09 2867

原创 模仿openssh工具,实现ipv4和ipv6兼容的服务(C实现)

这个月接到一个功能添加需求,需要为一个代理程序支持ipv6的功能。但是在支持ipv6的同时还不能影响ipv4的功能。于是做了如下调研。1.在linux中,尽管用AF_INET6协议族写的socket是兼容AF_INET连接的,但是这种只是针对服务,但是如果想拓展为代理程序,可能就比较局限,所以要检索本机的ipv4地址和ipv6的地址,分别建立socket.2.多个socket可以同时监听同...

2018-07-30 16:29:28 1692

原创 Linux 进程监控工具——Strace

最近在做蜜罐项目,因为要追踪攻击者的操作行为,所以想到通过攻击者的ip获取pid.那么想知道进程都进行了哪些操作,让我想到了strace工具。那么strace都有哪些功能呢?总结如下:-c 统计每一系统调用的所执行的时间,次数和出错的次数等.-d 输出strace关于标准错误的调试信息.-f 跟踪由fork调用所产生的子进程.-ff 如果提供-o filename,则所有进程的跟踪结果输出到...

2018-04-25 21:29:43 393

原创 Windows文件内存映射的理解和应用

首先我们想一个问题,为什么要用到文件内存?举个例子:如果你只是处理一个几KB 的txt文件,加载到内存里面。可能对系统的影响不大,那么试想,当你处理一个几个G的文件,难道你也要加载到内存么?所以内存映射对处理一些size比较庞大的文件,内存映射是一个不错的选择!先来讲解下我做文件内存映射的步骤吧:1.先用CreateFile()创建或者打开一个文件内核对象2.当创建件后指明了文件的路径,但是这个时...

2018-04-13 09:57:43 1790

原创 对ThreadPool理解与实现

线程池相信大家都不陌生,基本在涉及到多线程开发首先会想到线程池,那么线程池的原理又是如何呢?我想用下面的图做一个简单的分析:从上图我们可以看出什么东西呢? 其实我们可以把ThreadPool想象成一个非常大的洗澡池(北方的那种哈哈)。洗澡池里面有许多人在泡澡。那么我们想象,洗澡池肯定有最大容纳的人。那么现在你可以想到,人们首先排队陆续进如池子。当池子里面的人达到最大容纳数时,后面的人只能等代有人出...

2018-04-03 18:00:13 208

原创 尝试写win32 service

下面的代码虽然是一个小demo。但是表达出了创建一个服务的完整过程.当然前提是你的程序不要和用户互动。运行在后台。因为最近项目就是这个需求,而环境恰巧是运行在windows,所以想到用服务来实现。废话不多说,写贴代码:#include <windows.h>#include <stdio.h>#pragma comment(lib, "Advapi32")#define S...

2018-03-28 11:54:34 305

转载 对RDP协议的理解

最近在做堡垒机项目,要用到RDP协议,所以想了解下RDP协议的内部机制:一、前言windows从NT开始提供终端服务,它是微软买来的网络协议技术(Citrix),服务器端要安装、配置,客户端要连接程序。终端服务使任何一台有权限的终端机,用已知的账号登录服务器,可以使用账号内的资源,包括软件,硬件资源;同时,在协议升级后,客户端连接后可以使用本地的资源,包括本地打印机、声音本地回放,本地磁盘资源和本...

2018-03-23 10:25:07 5991

原创 请自觉为多态的基类声明virtual析构函数

最近做的项目一直会用到多态的思想,所以会考虑到如何能够正确有效的释放对象资源(包括基类与派生类)。为什么会考虑到这个问题呢?C++ 不像Java即使编程者忘记对资源的释放,java仍然提供缺省的机制来释放资源。所以说如果你一直从事与C++开发,这个问题是逃不掉的。那么现在有什么好的方法么?比如举个简单的例子,我们有许多办法可以记录时间。我们可以先设计一个base class TimeKeepe

2017-04-28 10:13:18 199

原创 善用const

首先,有些人会问?为啥要使用const,我使用宏定义不是照样可行?开发C++已有五年多的时间了,有时当遇到需要定义常量时,总有一个问题一直很疑惑,到底是用宏定义#define,还是用const修饰。现在终于有了答案,废话不多说,先上代码#define CALL_WITH_MAX(A,B) F((A) > (B) ?(A) : (B));光看这个宏,就有太多的缺点,首相你要使用它,...

2017-04-21 16:12:38 359

MFC + access 数据库实现的学生管理系统

MFC + Access 数据库实现的学生管理系统,学生信息的增删查改

2018-03-21

汽车导航系统

本系统是用C++ MFC 开发的汽车导航系统,能够实时的定位你所在的位置

2017-10-07

C#实现网络爬虫

C#实现网络爬虫

2014-01-02

空空如也

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

TA关注的人

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