自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

认知 行动 坚持

涛哥不知何许人也,亦不详其姓字。闲静少言,不慕荣利。好读书,求甚解。常著文章自娱,颇示己志。忘怀得失,有始有终...

  • 博客(41)
  • 资源 (19)
  • 收藏
  • 关注

原创 STL中的queue

直接上菜:#include #include using namespace std;int main(){ queue q; int i = 0; for (i = 0; i < 5; i++) { q.push(i + 1); // 由于只能在一端进行操作, 所以不是push_back, push_front } printf("%d\n", q.size()

2014-12-30 00:13:54 7344 1

原创 STL中的deque介绍--- double-ended queue

deque即双向队列(double-ended queue),是一种在两端开口的连续线性空间,可以高效的在头尾两端插入和删除元素。 在deque中, 我们要尽量避免erase队列中间的元素, 这样效率低。 要erase怎么办? 还是用list吧。 不多说, 来认识一下deque:#include #include #include #define N 10using namespa

2014-12-29 00:11:45 8481

转载 腾讯15年间打败的竞争对手

转载地址:http://www.hnchain.com/news-90152.html    任何科技行业的领导企业,最大的竞争力必然是创新能力,一旦失去这种能力,失败就将不可避免。腾讯亦然。很多童鞋看到这里大概会发出一声冷笑:“腾讯不是只会抄袭?”    但是一家生于草莽,没有爹,没有党的关怀,没有北大清华的水草滋养的企业,到底是怎样的魔法在十五年间做到市值千亿美元,

2014-12-28 13:15:54 10273 2

转载 葵花宝典混华为(纯粹转载, 笑而不评)

只从天涯论坛转载, 不加任何评论和说明。 转载地址:http://bbs.tianya.cn/post-516-48355-1.shtml        除了没有国有股,华为就是个国企,盗亦有道,做个小偷都得有三项纪律八大注意,混国企当然有混国企的不二法则,此宝典总结前辈成败得失,对于老家伙来说,能在华为晃荡没跳楼、没辞职的,自然有自己的路数,全当娱乐,对于即将入职或者刚入职的新员工,

2014-12-28 12:58:48 8609

原创 如何在VC++6.0中设置条件断点?--- 某公司实习生招聘面试试题

曾经玩过条件断点, 但是, 许久不用, 也就忘了, 后来, 在一次面试中, 碰到了这个问题, 当时答得不太好。 下面, 我们来一起看看(以VC++6.0为例):        假设程序为:#include using namespace std;int main (){ int i = 1; int n = 100; int sum = 0; for(i = 1; i <=

2014-12-28 00:16:13 7942

原创 STL中的list小结(面试被问过)

多年前, 去某公司面试, 被问过list和vector, 鉴于之前我们学习过vector, 在本文中, 我们只简要介绍一下list. 我不打算全面介绍list, 因为那是手册应该做的, 下面, 让我们来窥探一下与list相关的小程序吧:#pragma warning(disable: 4786) // 去掉相关warning#include #include #include #in

2014-12-27 22:59:13 7733

原创 某手机厂商是否应该尝试这样去定位手机开机卡死的低概率问题?

买了某厂商的手机, 用着其实还蛮不错, 但会出现低概率开机卡死的问题, 或许是职业习惯的原因, 打算就此时小小地写一下。 低概率问题, 很不好重现和定位, 但又不能忽视。如果死机出现的概率为1/100, 那么100w台手机, 也会有10000太手机有问题, 用户肯定在网上炸开了锅。下面来简要说一下, 比如, 假设手机在启动AAA某块时候, 低概率卡死, 简要代码如下:#

2014-12-26 23:53:36 7487

原创 如何在程序中打开.mp3, .exe, .chm文件? ---介绍一下ShellExecute的用途

下面, 我们看看ShellExecute的重要用途, 用它来打开.mp3, .exe, .chm, 当然啦, 在当前工程中必须有这些文件。#include int main(){ ShellExecute(0, 0, "beauty_voice.mp3", 0, 0, 0); return 0;}      上面程序会唱歌。#include int main(){

2014-12-26 22:59:04 8291

原创 如何利用多线程写一个简单的定时器?

先来看一个简单的程序, 实现一个定时器来定时调用test函数:#include #include using namespace std;void test(){ cout << "test" << endl;}DWORD WINAPI ThreadFun(LPVOID pM){ int timeVal = *(int *)pM; int start = 0; whi

2014-12-26 00:28:11 9593

原创 SetTimer设置后没法调用定时器函数(回调函数)吗?

我们先来看一个简单的程序:#include &lt;iostream&gt;#include &lt;windows.h&gt;using namespace std;void myTimerProc(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime ){ cout &lt;&lt; "hello" &lt;&lt;...

2014-12-25 23:50:53 11832 2

原创 C++对象切片和对象切片的阻止(纯虚函数让编译器强迫程序猿修改有对象切片的代码)

下面, 我们来看一下C++中最简单的多态程序:#include using namespace std;class Animal{private: int weight;public: virtual void eat() { cout << "eat" << endl; }};class People : public Animal{private:

2014-12-24 00:14:04 8629 1

原创 delete void*形式的指针是非常危险的

先看一个程序:#include using namespace std;class A{public: A() { cout << "constructor" << endl; } ~A() { cout << "destructor" << endl; // 没有被调用 }};int main(){ void *p = new A; // void

2014-12-23 00:13:35 7765 2

原创 (this->*p)();的理解

下面的程序是很常见的, 来熟悉一下:#include using namespace std;class A;void (A::*p)(); // 指向类的成员函数class A{ void print() { cout << "hello world" << endl; }public: A() { p = &A::print; } void fun

2014-12-22 23:52:36 7728 1

原创 代码写在一行不方便单步调试

先看看示例:#include using namespace std;int main(){ if(0) cout << 0 << endl; return 0;}      这个时候, 在if处下一个断点, 单步调试的时候, 根本就不知道if里面的表达式是真还是假, 所以, 建议改为如下较好的风格:#include using namespace std;int m

2014-12-22 23:24:14 7742 1

原创 获取操作系统启动到现在的时间---GetTickCount

直接上代码:#include #include // for GetTickCount#include // for Sleepint main(){ int start = GetTickCount(); printf("%f\n", start / (3600000.0));// 操作系统运行到现在的时间 Sleep(2000); int end = GetTic

2014-12-21 21:55:47 15574 1

原创 利用gethostname获取主机名

直接上菜:#include#include#pragma comment(lib,"ws2_32.lib") // 静态库 int main(){ WORD v = MAKEWORD(1, 1); WSADATA wsaData; WSAStartup(v, &wsaData); // 加载套接字库 char hostName[100] = {0};

2014-12-21 21:54:39 8800 8

转载 正确计算linux系统内存使用率 (我今天刚好碰到这个问题, 故转载一下)

测试同事提了一个问题单, 错误地理解了内存使用率, 下面我们来看看正确的理解。         转载地址:http://www.sealinger.com/archives/406/           作者: sealinger 时间: July 8, 2012 分类: 都学杂了linux系统内存实际使用率图中的例子很典型,就是:多数的

2014-12-19 00:37:01 8708

原创 不区分大小写的strCaseStr---改造strstr

直接上菜:#include using namespace std;char *strCaseStr(const char *str1, const char *str2){ if(NULL == str1 || NULL == str2) { return NULL; } int len1 = strlen(str1); int len2 = strlen(str2)

2014-12-19 00:23:49 9840

原创 C/C++库函数: 将字符串转换成小写strlwr/大写strupr(我很少用, 所以记录一下)

#include using namespace std;int main(){ char szTest[] = "abC"; cout << strlwr(szTest) << endl; cout << szTest << endl; cout << strupr(szTest) << endl; cout << szTest << endl; return 0;}

2014-12-18 23:50:07 20091 9

转载 什么是数字签名和数字证书(好清楚, 赞一个)?

原文地址:http://www.youdzone.com/signature.html        翻译地址(阮一峰):http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html        超赞

2014-12-18 00:18:50 8040 1

原创 “救命的” svn up -r xxx

某某说, 大家要经常更新代码, 以便尽早发现配置库中代码的异常。  我们知道, 当项目组人数稍多, 提交代码时候,如果没有遵循严格的本地构建, 势必会将错误代码提交到配置库中, 或者漏提交一些文件。 事实上, 大家也经常搞错, 配置库中的代码也经常有问题, 这样的话, 如果常常更新, 错误的代码就进入了自己的工作目录, 非常影响自己的工作效率。 在这一点上,我是深有体会的。         遇

2014-12-18 00:17:31 10538 1

原创 Windows添加路由:route add 173.18.18.0 mask 255.255.255.0 172.18.18.1

添加路由是基本技能, 假设自己网关是172.18.18.1, 要访问别的同事的173.18.18.222的pc, 但是又ping不同, 这时候同事说, 你加个路由吧。  好, 那就在cmd中加吧, 加了之后就能ping通过了, 基本技能, 聊作记录:route add 173.18.18.0 mask 255.255.255.0 172.18.18.1

2014-12-15 23:25:58 58210 1

原创 理解一下指针数组和二维数组

#include using namespace std;int main(){ int a[] = {1, 2, 3}; cout << sizeof(a) << endl; // 12 cout << sizeof(a[0]) << endl; // 4 // 指针数组 const char *p[] = {"ab", "def", "adgbgdegsdggf"}; cout <<

2014-12-14 22:09:56 7334 1

原创 如何利用openssl来进行base64编解码?

openssl的用法, 请见之前博文, 下面仅仅给出base64编解码的代码:#include #include #pragma comment(lib, "libeay32.lib") #pragma comment(lib, "ssleay32.lib") // 可以注释掉using namespace std;// base64编码int Base64Encode(con

2014-12-14 16:13:25 11042 3

原创 如何利用openssl来计算md4, md5, sha1, sha256, sha384, sha512等常用哈希值?

openssl的库的用法, 前面已经介绍了, 所以不再啰嗦, 直接给出代码:// openssl的库的用法, 前面已经介绍了, 所以不再啰嗦, 直接给出代码#include #include #pragma comment(lib, "libeay32.lib")#pragma comment(lib, "ssleay32.lib") // 可以注释掉using namespace

2014-12-14 13:29:34 15444 3

原创 VC++6.0环境下利用openssl编程入门(以计算md5值为例)的全解析------openssl库直接给大家弄好, 省得麻烦大家去编译

做软件开发的人, 基本都应该听说过大名鼎鼎的开源软件openssl, 下面, 我们来入门openssl编程吧。 初学者如果想了解openssl编程, 最不喜欢是: 还没有懂怎么利用openssl写代码, 不得不学openssl本身的编译。 在本文中, 我直接省略如何编译openssl这个过程, 直接把编译的最后结果(库和文件)提供给大家, 希望大家能用得上。先用openssl来玩一下, 感觉有趣的

2014-12-14 02:24:37 17753 27

原创 BCB对如何操作ini文件?

.ini 文件是Initialization File的缩写,即初始化文件,是windows的系统配置文件所采用的存储格式,统管windows的各项配置,在实际开发中, ini文件的应用也是非常广泛的。     下面来利用BCB来操作一下ini文件://-------------------------------------------------------------------

2014-12-14 00:08:06 11073 1

原创 BCB如何获取.exe所在的路径?

直接上代码://---------------------------------------------------------------------------#include #pragma hdrstop#include "Unit1.h"//-----------------------------------------------------------------

2014-12-14 00:06:16 10891

原创 什么是缓冲区?

缓冲区, 说白了, 就是一个中介。 比如你要租一个房子, 刚好房子的主人也要出租房子, 你们可以直接联系, 但问题就在于: 房子的主人可能没有时间和你扯太多, 你也没有时间和房子的主人扯这扯那, 这个时候, 中介产生了。 中介有时间和你扯皮, 中介和房子的主人也提前沟通好。        在上面的例子里, 你通过中介一次性把信息反馈给房子主人, 房子主人把自己的要求通过中介一次性给你。 本来,

2014-12-12 23:04:37 18477

原创 某设备sftp client不能向sftp server传递文件的"bug"的定位过程(碰到过2次以上)

某设备往sftp server上传文件的功能一直很正常, 但是, 测试的同事发现, 在她那里, 某设备无法往sftp上正常地传文件, 叫我过去现场确认一下。 我知道, 这个功能一直是ok的, 为什么现在不ok了呢? 现场去确认了一下, 发现还真是问题。 这个时候, 我没有说, 那你先提单吧! 因为我初步估计, 这个肯定是环境问题, 不能功能问题, 如果测试同事提单了, 到时候肯定又重现不了问题,

2014-12-07 22:00:31 7956

原创 客户端连不上服务端的"bug"定位过程

测试同事反馈, 某客户端连接不上某服务端, 准备提单(问题单), 但还是让我去现场确认一下。 我去一看, 发现客户端ping不通服务端, 那自然是没法连接啦。 一看, 是网线松动了。 算好让我去看看啊, 否则又要提一个无法重现的问题单或者是低概率问题单(通常把人搞得半死不活)。        在这里, 我并没有指责测试同事, 任何人都会极其偶尔地犯这样的错误。 作为测试的人, 应该学会排除基本

2014-12-07 21:17:10 8474 1

原创 多线程环境下安全的消息队列存取---利用信号量

前面几篇博文中, 我们一直在讨论异质链表消息队列问题, 在本文中, 我们继续来探讨这一问题, 在多线程环境下, 考虑线程同步问题, 代码如下(我用Sleep(20);来故意捣乱):#include #include using namespace std;#define Rectangle MyRectangle // 避免Rectangle与Windows中的Rectangle冲突

2014-12-06 00:59:51 9346

原创 多线程环境下不安全的消息队列存取---线程不同步会造成隐患

前面, 我们把消息队列存取都放在主线程中, 而在实际应用中, 很多时候, 存消息队列在主线程, 取消息队列在其他线程(如网络线程)。 下面, 我们将之前的程序改为多线程程序:#include #include using namespace std;#define Rectangle MyRectangle // 避免Rectangle与Windows中的Rectangle冲突/

2014-12-06 00:17:31 9730

原创 加上#include<windows.h>后出现的奇葩错误

先来看一个没错的程序:#include using namespace std;struct Rectangle { int width; int height;};int main(){ Rectangle rect; return 0;}      加上#include就有错:#include #include using namespace std

2014-12-04 23:47:23 16203 1

原创 基类的虚函数没有实现而引起的错误

先看一个错误的程序:#include using namespace std;class Basic{public: virtual void fun(); };class A : public Basic{public: void fun() { cout << "hi" << endl; }};int main(){ A a; return 0

2014-12-04 23:24:27 8321 1

原创 将消息推入消息队列并从消息队列中取出------利用异质链表和C++的多态性

前面我们介绍了异质链表, 现在, 我们继续来深究其应用, 我们可以把Integer, Point, Rectange的对象看成是包装好的消息, 下面我们来看看如何将消息塞入消息队列, 并从消息队列中取出。 顺便说一下, 消息队列在实际开发中是非常常见的, 我们经常需要把任务推入消息队列、从消息队列中取出。 是该上代码了(为了简便起见, 我没有考虑堆内存的释放):#include using

2014-12-04 23:10:39 8489

原创 看到这种单例, 也是醉了

好吧, 第一次见这种单例, 来瞧瞧:#include using namespace std;class A {private: A() // 之所以设置为private, 是因为为了防止外部直接生成对象 { cout << "A" << endl; }public: // 看到这种单例, 也是醉了。 不管咋样, 又多知道了一种方式 static

2014-12-03 22:33:24 7370

原创 从公司回来忘带手机没有闹铃明早起来不了该怎么办?--- 花5分钟用ShellExecute写个闹铃即可!

从公司回来, 忘记带手机, 又没有闹铃, 明天起来不了, 咋办? 回公司去取手机? 不想去。 在楼下买个闹钟? 觉得没必要。 好吧, 写个简单的C语言程序, 在睡觉的时候把它跑起来即可, 我刚验证了一下, 没啥问题#include int main(){ int i = 0; for(i = 0; i < 60 * 7; i++) // 7小时, 睡7个小时足够啦! { Sle

2014-12-03 22:14:32 8272 2

原创 答辩周年记------与刚入职场/即将答辩的程序猿们共勉

每个公司的制度、运作、规模、文化、氛围等各方面都不尽相同, 所以在本文中, 我也不以偏概全, 仅仅根据自身的经历来谈一下试用期的相关事情。我司的正规流程是6个月的试用期, 我在入职后四个月参加答辩, 第五个月转正。 从去年答辩到现在, 刚好一周年, 若有所思, 于是挥笔写一篇自己的感受, 与各位职场新鸟们共勉。我以一个过来人的身份, 抛砖引入地聊聊试用期和答辩准备。 先说

2014-12-03 00:31:43 12313

原创 聊聊malloc和new的区别---当malloc和string相遇时, 容易出错

在学习C语言的时候, 我们学了malloc, 后来学习C++的时候, 又学了new, 那么malloc和new有什么区别呢? 首先, malloc是一个库函数, 返回值是void *形式的, 而new是一个运算符, 返回值类型与new的对象/变量的指针相同。 其次, new和delete的实现实际上是调用了malloc/free的。

2014-12-02 22:28:03 9865 8

ipscanner.rar

获取网络的ip, host name和mac地址。我想免费让大家下载, 但csdn规定了必须设置积分, 没办法。

2017-12-01

linux protobuf安装文件

linux, google protobuf, 安装文件。 使用方法:http://blog.csdn.net/stpeace/article/details/53029812

2016-11-04

linux tree命令的源码

很多linux上没有tree命令, 该资源提供了tree命令的源码, 大家可以下载, 编译并安装, 具体请参考:http://blog.csdn.net/stpeace/article/details/49524273

2015-11-01

编译好的openssl库和头文件

编译好的openssl库, 欢迎使用, 具体使用方法, 请见http://blog.csdn.net/stpeace/article/details/41921287

2014-12-14

入门数据库sqlite3的最佳实践资料

入门数据库sqlite3的最佳实践资料, 里面是我打包好的程序, 附加一些数据库工具, 非常可以。 当然你也可以参考我的博文http://blog.csdn.net/stpeace/article/details/38503843

2014-08-12

Wireshark抓包工具

Wireshark抓包分析工具, 非常好用, 非常实用。

2014-06-08

优秀的截图软件

截图软件fast stone. 解压即可使用。 解压后, 可能会产生一些依赖性文件, 请不要轻易删除。

2014-05-25

获取网卡信息所需的头文件和库

获取网卡信息所需的头文件和库:IPEXPORT.H Iphlpapi.h IPHLPAPI.LIB IPRTRMIB.H IPTYPES.H

2013-10-19

哈希值计算软件

可以计算md5, sha1, sha256等哈希值的工具软件,我无法形容它的优秀。

2013-10-18

在Windows下学习Linux命令

在Windows下想学linux命令的同志,你终于找到了该资料。用法:解压,然后双击其中的cmd.exe, 然后就可以输入linux命令了,比如ls等(千万要注意,不要进行路径切换,否则linux命令就执行不了,总之,要确保相应文件在当前目录下)。

2013-08-08

计算机网络第5版谢希仁编配套光盘资料

计算机网络第5版谢希仁编配套光盘资料,这是计算机考研的指定教材对应的资料,你应该拥有它。

2013-07-19

OllyDBG反汇编工具

OllyDBG反汇编工具,非常强大。深化功底,需此工具。

2013-07-19

masm汇编器

微软的汇编器,其中有关键的masm.exe和link.exe,我试过,发现可用。

2013-07-19

word转pdf的插件

word转pdf的插件,直接安装即可,安装完后,“另存”word文档的时候,可以选择pdf(我用的word版本为2007)。

2013-07-18

音频处理软件Gold Wave

一款强大的音频处理软件,可以对音频进行各种处理。例如:如果你在准备某考试,需要听音频资料,但是,你嫌音频太慢,而且你的MP3播放器无法加速,那么你可以用该软件对音频本身进行加速,即改变音频本身,使之变快。另外,在处理的时候,可以实现批处理(我亲自实践过,发现可行)。

2013-07-17

H.264visa软件

一款非常强大的H.264视频码流的解析软件,可以看到解码后视频的像素值,运动矢量,宏块等非常多的信息(也可以打开原始的YUV视频,并看到像素值,但必须先用该软件打开某一H.264视频码流),比Elecard StreamEye软件(有bug)更为强大,我一直用H.264visa,目前没有发现有什么bug. 另外,该软件安装后1个月就会过期,没有关系,1个月后,你重新安装一次即可。

2013-07-13

Elecard StreamEye

Elecard StreamEye,一款分析H.264视频码流的工具,如果你在学习H.264,那么,你应该拥有它。

2013-07-13

YUVviewer :原始的YUV视频的播放器

原始的YUV视频的播放器(软件不是我写的),如果你做视频处理、视频压缩编码、视频通信、视频检索、视频取证,那么你很可能需要它。该软件的缺点是:你无法看到YUV视频的像素值。

2013-06-24

经典的C语言编译器:TC2.0

一款经典的C语言编译器:Borland Turbo C 2.0. 怀念Borland产品的人可以用一下,体验一下DOS下的编程。如果是C语言初学者,建议用MS的VC++6.0. 我试过,该TC2.0可以正常使用。

2013-06-23

空空如也

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

TA关注的人

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