自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

nk_wang的专栏

业精于勤,荒于嬉;行成于思,毁于随

  • 博客(32)
  • 资源 (28)
  • 收藏
  • 关注

原创 Python学习之迭代器类型

迭代器作为Python中比较常用德数据类型,Python的官方说明文档给出了迭代器类型的详细说明:本人使用的是Python的3.7.x版本.原文以及解释Python supports a concept of iteration over containers. This is implemented using two distinct methods; these are used to...

2019-01-07 23:27:20 621

原创 Python学习之sqlite3简单应用

SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是在世界上最广泛部署的 SQL 数据库引擎。SQLite 源代码不受版权限制。在Python中,SQLite作为一个内嵌模块使用,如何使用SQLite模块呢??创建数据库为了使用sqlite3数据库模块,首先得创建一个Connection对象代表数据库,下面创建一个数据库examp...

2019-01-05 12:28:23 534

原创 Qt绘图之刻度环绕

      在Qt绘图中,经常需要绘制一些仪表的刻度盘,我们知道,仪表刻度上的数据基本呈现环绕模式,那么如何在Qt中实现这种绘图效果呢???      在Qt 绘图类QPainter中,提供了rotate()和translate()方法,在绘图过程中通过这两个方法的配置使用,完全可以实现刻度的环绕。下面是本人写的一个例子,比较简单。头文件widget.h#ifndef WIDGET_H...

2018-06-03 18:30:39 4422 2

转载 扎克伯格是如何让员工学会高效工作的?

简述Facebook 的社交帝国如何建立的?当所有人都聚焦其技术创新、营销策略、市场开拓等因素时,却不知其实更令人感叹的是其员工的工作习惯和态度。全球最年轻亿万富豪宝座的 Facebook 创始人马克·扎克伯格,为了提升员工的工作效率,亲自做了这 26 张 PPT。有人说这是「 Facebook 内部培训 PPT」,也有人说这是一个叫做 Étienne Garbugli 的产品设计与咨询顾问做的一...

2018-04-14 14:28:00 318

原创 文件拖拽功能窗口实现

今天在使用迅雷软件播放影片时,觉得这个拖拽播放的功能还不错,想着自己能否实现一个具备文件拖拽功能的窗口呢,查看了下MSDN,原来窗口接受文件需要处理WM_DROPFILES消息。WM_DROPFILES消息 MSDN中消息的语法:PostMessage( (HWND) hWndControl, // handle to destination control

2017-07-09 18:59:44 1818

原创 C++智能指针详解

1. 简介由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete,造成内存泄漏。 使用C++智能指针可以有效的解决这类问题,本文中主要介绍std::auto_ptr、boost::scoped_ptr、boost::shared_ptr、boost::scoped_array、boost::

2016-05-28 11:38:48 2536

原创 大文件内存映射问题

最近一段时间接到朋友的关于大文件分解的一个问题,文件大小不确定,几百M到几个G,对于这样的问题,采用内存映射处理是最为高效的手段需求是这样的,文件包含文件头:136个字节,后面记录的是一条一条的数据包,数据包结构如下:数据包头:4个字节;文件序号:4个字节,数据包大小;要求分解为100M大小左右的文件,根据文件结构代码实现如下://FileInfoDef.h#ifndef __INCLUDE_FI

2016-05-27 12:55:37 1743 1

原创 进程间通信之共享内存(Share Memory)

为了实现多个进程之间的通信,我们可以用系统页面文件来最为共享内存文件。 1.首先我们创建第一个进程,用系统函数CreateFileMapping创建共享内存文件,用函数MapViewOfFile映射共享内存文件到进程,具体操作见代码:#include <Windows.h>#include <conio.h>#include <tchar.h>#include <iostream>using

2016-05-27 11:38:42 6346

原创 boost库实现Base64编解码

 Base64介绍Base64是一种基于64个可打印字符来表示二进制数据的表示方法,从本质上看Base64编码就是将三字节转换为四字节,如果数据的长度不是3的整数倍,就要在后面补0再计算,每补2个0就再Base64串后加上1个‘=’。boost库Base64boost库对Base64编解码进行很了很好的封装,以下代码用boost库实现Base64编解码//boost库引用文件...

2015-12-25 23:32:35 8008 1

原创 宏与内联函数的区别

总结目的:本人曾经一度选择放弃开发岗位,然后仅仅三个月之后又觉得自己的选择是错误的,还是应该继续自己比较擅长的开发,然而一次面试却让我发现,很小的知识点已经遗忘。(1)、宏只做简单的字符串替换,函数是参数传递,所以必然有参数类型检查(支持各种类型,而不是只有字符串)。(2)、宏不经计算而直接替换参数,函数调用则是将参数表达式求值再传递给形参。(3)、宏在编译前进行,即先替换再编

2015-12-05 16:43:38 498

原创 STL容器区别vector,list

最近在面试过程中面试官问道我一个问题,vector和list分别在什么样的场景下使用,这样一问,问的我一头雾水,回来之后翻了翻网页,大概总结下这两种容器的使用场景,也算是给自己一个提醒,做技术时刻得总结总结,而不是临时抱佛脚。1.vectorvector就是动态数组.它也是在堆中分配内存,元素连续存放,有保留内存,如果减少大小后,内存也不会释放.如果新值>当前大小时才会再分配内存. 它拥有一

2015-08-05 21:19:03 712

原创 C#LINQ介绍

前言最近在自学C#的过程中,突然发现LINQ(Language Integrated Query)这个名词,自己看了看MSDN,就决定摘录其中个人认为比较用知识点,供大家学习参考。首先看看微软MSDN的解释:A query is an expression that retrieves data from a data source. Queries are usually expressed

2015-03-29 15:35:11 540

原创 C/C++ 笔试、面试题目汇总(续)

一.找错题试题1:void test1(){ charstring[10]; char* str1 ="0123456789"; strcpy( string, str1 );} 试题2:void test2(){ charstring[10],str1[10]; int i; for(i=0; i10; i++)

2015-03-22 11:11:29 581 1

原创 C/C++ 笔试、面试题目汇总

C++的基础知识,笔试面试必备 1.求下面函数的返回值( 微软)int func(x) { int countx =0; while(x) { countx ++; x = x&(x-1); } return countx; }假定x = 9999。 答案:8思路:将x转化为2进制,看含有的1的个数。

2015-03-22 11:07:17 499

转载 C++虚函数及虚函数表解析

一、背景知识(一些基本概念)虚函数(Virtual Function):在基类中声明为 virtual 并在一个或多个派生类中被重新定义的成员函数。纯虚函数(Pure Virtual Function):基类中没有实现体的虚函数称为纯虚函数(有纯虚函数的基类称为虚基类)。C++  “虚函数”的存在是为了实现面向对象中的“多态”,即父类类别的指针(或者引用)指向其子类的实例,然后通过

2015-03-15 20:34:16 462

转载 有点意思的C/C++问题及解答:21-25

问题21:判断C编译器是否支持嵌套注释。       解法:嵌套注释是指在/* */ 中出现/* ... */,定义这个式子: /*/*/0*/**/1  。如果编译器不支持嵌套注释,那么这个式子为0*1。如果支持嵌套注释,那么这个式子为1。摘自《C陷阱与缺陷》。       问题22:判断机器的大小端。       解法:用联合,先将其中的word赋值为0x1234567

2015-03-04 21:56:02 517

转载 有点意思的C/C++问题及解答:16-20

问题16:在C++中定一个不能被继承的类       解法:容易想到的就是将这个类的构造函数和析构函数都设为私有的。这样继承的类就无法调用父类的构造函数和析构函数,编译时就会报错。但是不能被继承的类如何产生对象呢?可以利用静态函数,它与类的对象无关,可以直接通过类的作用域直接调用。[cpp] view plaincopyprint?c

2015-03-04 21:54:45 463

转载 有点意思的C/C++问题及解答:6-10

问题 6:非C++内建型别A 和B,在哪几种情况下B 能隐式转化为A? (1)class A { ...... };  class B : public A { ……} ;  // B 公有继承自A,可以是间接继承的(2)class A { ...... }; class B {  operator A() { return A::A(); } ......};  // B 实现了

2015-03-04 21:53:25 436

转载 有点意思的C/C++问题及解答:11-15

问题11:下面这个函数希望完成什么任务?[cpp] view plaincopyprint?int func(int x)   {       int countx = 0;       while(x)       {           countx ++;           x = x&(x-1);    

2015-03-04 21:52:39 414

转载 有点意思的C/C++问题及解答:1-5

问题1 :写一个交换两个数的宏方法1:可以用异或运算来做,如果是浮点数,这个方法就不行了[cpp] view plaincopyprint?#define _swap(a,b) { a=a^b; b=a^b;a=a^b; }  方法2:用加减法来做,可能会溢出[cpp] view pla

2015-03-04 21:50:53 405

原创 C++ map以自定义数据类型做键值

前言作者最近在项目开发中遇到一个问题,想采用自定义的结构体作为键值,但是无论怎样,就连编译都不能通过,针对这个问题,作者就开始寻求解决的办法.。终于这个问题得以解决,高兴之余,决定写个例子,供大家参考1.map在STL中的定义template, class A = allocator >第一个参数 Key: map的关键字类型第二个参数T:      map的值类型第

2015-02-14 19:46:44 7673 2

原创 C++中类静态成员map初始化操作

前言最近作者在项目中遇到一个问题,类静态成员map无法进行初始化,这个问题困扰了作者好多天,今天突然发现了解决此类问题的方法,就写下这篇博客,供大家学习交流,废话不多说了,直接贴代码了自己写的一个测试类//MapTest.h#pragma once#include using namespace std;typedef map IntMap;class MapTes

2015-02-06 22:17:13 21741 3

转载 IP Header Checksum计算c实现

关于IP Header Checksum的计算在RFC791中有比较完整的描叙, Header Checksum: 16 bitsA checksum on the header only. Since some header fields change(e.g., time to live), this is recomputed and verified a

2015-01-18 00:03:13 1176

转载 pcap文件解析(三)--拆分SCTP包

目录(?)[+]这一章,我们将了解SCTP数据包结构,并简要介绍SCTP协议,最后将带有多个chunk的SCTP包拆分问单个SCTP数据包。SCTP数据包数据包头Eth信息IP头SCTP头SCTP Chunk 1……

2015-01-16 22:55:24 2191

转载 pcap文件解析(二)--初识IP包

2013-01-10 13:05 3208人阅读 评论(0) 收藏 举报目录(?)[+]在上一篇我们简单认识pcap文件,现在我们来看看IP包的大致结构。IP包在开始之前给大家推荐一个非常好用的工具RFCView,通过这个工具我们只需要输入RFC(Request For Comments,基本的因特网通讯协定都有在RFC文件内详细说明)号码就能查看各种R

2015-01-16 22:52:46 729

转载 pcap文件解析--pcap文件头与包文件头(一)

初识Pcap文件在开始读取pcap文件之前,先让我们来看看Pcap文件的大概结构。如上图所示在一个Pcap文件中存在1个Pcap文件头和多个数据包,其中每个数据包都有自己的头和包内容。下面我们先看看PCAP文件头每个字段是什么意思:magic为文件识别头,pcap固定为:0xA1B2C3D4。(4个字节)magor version为主版本号(2个

2015-01-16 22:49:10 1931 1

原创 C#中的ref out param关键字

ref是传递参数的地址,out是返回值,两者有一定的相同之处,不过也有不同点。使用ref前必须对变量赋值,out不用。ref 关键字使参数按引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。若要使用 ref 参数,则方法定义和调用方法都必须显式使用 ref 关键字。传递到 ref 参数的参数必须最先初始化。这与 out 不同,out 的参

2015-01-11 01:31:59 436

原创 C++ new运算符误用之详解

1.plain new/delete.普通的new定义如下:void *operator new(std::size_t) throw(std::bad_alloc);void operator delete(void*) throw();注:标准C++ plain new失败后抛出标准异常std::bad_alloc而非返回NULL,因此检查返回值是否为NULL判断分配是

2014-11-21 21:09:24 745

转载 位操作基础篇之位操作全面总结

位操作篇共分为基础篇和提高篇,基础篇主要对位操作进行全面总结,帮助大家梳理知识。提高篇则针对各大IT公司如微软、腾讯、百度、360等公司的笔试面试题作详细的解答,使大家能熟练应对在笔试面试中位操作题目。      下面就先来对位操作作个全面总结,欢迎大家补充。在计算机中所有数据都是以二进制的形式储存的。位运算其实就是直接对在内存中的二进制数据进行操作,因此处理数据的速度非常快。

2014-11-20 23:58:55 493

转载 C++ STL map类型简介

一:map的前世今生(1)从关联容器与顺序容器说起,关联容器通过键(key)存储和读取元素,而顺序容器则通过元素在容器中的位置顺序存储和访问元素(vector,queue,stack,list等)。关联容器(Associative containers)支持通过键来高效地查找和读取元素。两个基本的关联容器类型是 map 和 set。 其中map 的元素以键-值(key-value)

2014-11-20 23:49:51 904

原创 STL容器:序列容器关联容器

在STL中容器为数据存储的基础,

2014-11-20 23:01:22 901

转载 C++ 类的静态成员详细讲解

在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用。所以在所有对象中都可以共享它。使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还可以节省内存。静态成员的定义或声明要加个关键static。静态成员可以通过双冒号来使用即::。 在C++中类的静态成员变量和静态成员函数是个容易出错的地方,本文先通过几个例子来总结静

2014-11-17 23:39:43 396

BCGCtrbar For MFC 版本V2210 第二部分,无需序列号

BCGCtrbar For MFC 版本V2210 第二部分,本资源共两部分

2016-12-17

BCGControbar For MFC 版本V22.1 第一部分,无需序列号

BCGControbar For MFC 版本V2210 ,共分为两个部分

2016-12-17

ZendStudio-10.6.1-win32.win32.x86.part7.rar

ZendStudio-10.6.1-win32.win32.x86.part7.rar

2015-04-01

ZendStudio-10.6.1-win32.win32.x86.part6.rar

ZendStudio-10.6.1-win32.win32.x86.part6.rar

2015-03-31

ZendStudio-10.6.1-win32.win32.x86.part5.rar

ZendStudio-10.6.1-win32.win32.x86.part5.rar

2015-03-31

ZendStudio-10.6.1-win32.win32.x86.part4.rar

ZendStudio-10.6.1-win32.win32.x86.part4.rar

2015-03-31

ZendStudio-10.6.1-win32.win32.x86.part3.rar

ZendStudio-10.6.1-win32.win32.x86.part3.rar

2015-03-31

ZendStudio-10.6.1-win32.win32.x86.part2.rar

ZendStudio-10.6.1-win32.win32.x86.part2.rar

2015-03-31

ZendStudio-10.6.1-win32.win32.x86.part1.rar

ZendStudio-10.6.1-win32.win32.x86.part1.rar

2015-03-31

Zend Studio 10.6.1完美破解文件+注册码+官方版下载

Zend Studio 10.6.1完美破解文件+注册码+官方版下载

2015-03-31

wireshark网络抓包分析工具

网络抓包分析工具,可以分析处理pcap文件

2015-01-18

VC6.0_MSDN.part2.rar

VC 6.0 MSDN 安装文件第二部分,本安装文件共分为2部分

2014-11-24

VC6.0_MSDN.part1.rar

VC 6.0 MSDN 安装包第一部分,本软件共2部分

2014-11-24

( Windows核心编程(第5版).part3.rar

( Windows核心编程(第5版)第三部分,本书共计三部分

2014-11-23

Windows核心编程(第5版).part2.rar

Windows核心编程(第5版)第二部分,本书分为三部分

2014-11-23

Windows核心编程(第5版).part1.rar

Windows核心编程(第5版)第一部分,该书分为三部分

2014-11-23

msdn 6.0不能打开注册

依次运行这三个指令完美解决 regsvr32 hhctrl.ocx regsvr32 itss.dll regsvr32 itircl.dll

2014-09-22

zlib源代码

zlib是一套功能强大的函数库,现将源代码附上,供各位网友下载学习

2014-09-18

zlib128最新库

最新zlib开源库,可以从压缩文件中直接读出文件的内容,也可以直接将文件buf直接写入到压缩文件,zlib是一个功能强大的压缩库

2014-09-18

C语言项目文档

纯C语言写的一些项目,可是作为学些的参考,是不错的一些例子

2013-07-04

SVN清除.svn的python代码

此段代码作用是删除svn工具下的.svn文件夹

2013-05-09

\MFC实现的网络传输图片.rar

本程序采用Socket原理进行图片的传输.

2013-05-03

Window Socket 编程的源代码

基于VC++ 的Window Socket 编程的源代码

2013-04-24

最新 SVN 服务器及客户端

SVN工具的服务器端和客户端工具,版本比较新的工具,是程序员必不可少的工具.

2013-04-04

高质量C++编程指南.pdf

此书是西安电子科技大学林锐博士的得意之作,林锐博士在C++程序开发方面有卓越成效,此书是不错的资源。

2011-11-28

数据结构与算法程序_(C++)_第一部分.pdf

学习C必须学习算法及数据结构,这部分,是不错的资源,推荐

2011-11-27

空空如也

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

TA关注的人

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