![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 69
jzjwonderful
这个作者很懒,什么都没留下…
展开
-
在Window 10 64位电脑上安装 OpenSSL安装过程
前期准备安装最新版的ActivePerl到https://www.openssl.org 下载最新OpenSSL源码到http://www.nasm.us 下载NASM汇编工具在开始任务栏里打开vc2010的工具文件夹,如图所示: 选择Visual Studio命令提示(如果是编译64位的openssl,应该打开的Visual Studio x64兼容工具,ps: 本人没测试)原创 2016-11-23 15:22:30 · 13535 阅读 · 3 评论 -
使用Zip Utils 解压文件的操作示例
采用Zip Utils解压文件的基本操作示例及函数详解。1.HZIP OpenZip(const TCHAR *fn, const char *password); 参数fn文件路径,相对和绝对路径应该都可以,支持unicode格式 password是解压的密码,可以为空,只需传入参数0即可。但是遗憾的是,密码只支持ascii格式,没办法,只好自己封装了两个函数用于单字节和宽字节之间互相转换原创 2016-09-28 23:47:17 · 4759 阅读 · 1 评论 -
使用哈希表快速查找字符串的一种解决方案
必备知识: 什么是哈希表? 哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。 哈希表hashtable(key,value) 的做法其实很简单,就是把Key通过一个固定的算法函原创 2016-09-09 11:26:03 · 6421 阅读 · 0 评论 -
static_cast、dynamic_cast、reinterpret_cast & const_的区别
本文转载自 [零度咖啡的博客],版权归原作者所有。(http://blog.sina.com.cn/s/blog_4a84e45b0100f57m.html) 关于强制类型转换的问题,很多书都讨论过,写的最详细的是C++ 之父的《C++ 的设计和演化》。最好的解决方法就是不要使用C风格的强制类型转换,而是使用标准C++的类型转换符:static_cast, dynamic_cast。标准C++中有转载 2015-08-22 23:27:30 · 422 阅读 · 0 评论 -
关于使用BoundsCheck的一些问题汇总
这段时间用VC++6.0写了一个关于数据处理的工作,但是在使用Debug的时候,output输出窗口总是提示有内存泄露。在自查无果的情况下,在网上找到了一些使用Boundscheck来检查程序内存泄露。现将使用时发现的问题汇总如下:1.Boundscheck已经被 Borland公司收购,现已更名为DevPartner, 且是收费软件。所以需要去http://www.borland.原创 2015-01-01 00:32:57 · 1958 阅读 · 1 评论 -
谷歌面试题 多线程的同步与互斥操作
题目来源:秒杀多线程第一篇 多线程笔试面试题汇总 /********************************/ 第五题(Google面试题)有四个线程1、2、3、4。线程1的功能就是输出1,线程2的功能就是输出2,以此类推………现在有四个文件ABCD。初始都为空。现要让四个文件呈如下格式:A:1 2 3 4 1 2….B:2 3 4 1 2 3….C:3 4 1 2 3 4….D:4 1原创 2015-11-01 09:06:39 · 971 阅读 · 1 评论 -
#include<iostream>和#include<iostream.h>的区别
转载自 零度咖啡的博客,版权归原作者所有。 区别在于:如果用了则一定要引入命名空间,即”using namespace std;如果用了 //情况一:使用<iostream>和命名空间 #include <iostream> using namespace std; int main() { cout<<"<iostream> need to u转载 2015-08-22 23:36:59 · 8567 阅读 · 0 评论 -
用单链表对直接插入排序的简单实现
头文件:#ifndef _MAIN_H_#define _MAIN_H_typedef struct tagNode{ int iData; tagNode* pNext; tagNode():iData(0),pNext(NULL){};}NODE,*PNODE;class LST{public: LST(); ~LST(); PNODE原创 2015-07-28 19:36:02 · 1719 阅读 · 0 评论 -
关于CListCtrlCL类的一些小错误[已更正,这个不是错误]
从别人代码里拷贝过来的CListCtrlCL类,用在自己的项目里,开始时并没有发现问题,后来在debug时,output总是输出内存泄露信息。就像这样我跟踪了这些地址,恰好出现在我程序里其他地方申请的内存地址的附近,所以一直在自查其他地方到底哪里泄露了。反复查了好几遍,自己写的类的析构函数、释放堆内存什么的措施都有但是还是一直报这个错。后来实在没办法,在网上找到BoundsCh原创 2015-01-01 11:24:13 · 1411 阅读 · 2 评论 -
VC中 InvalidateRect、RedrawWindow和UpdateWindow的区别
转载自:http://blog.sina.com.cn/s/blog_43c198e90100sia9.htmlInvalidateRect是将客户区标记为无效,并产生WM_PAINT消息,Windows会将WM_PAINT消息放入队列,等待窗口过程的处理,然后操作系统将WM_PAINT当作是低优先级消息,如果后面有其他的动作要处理,则可能会出现空白的区域需要等待一段时间才被刷新。转载 2015-01-05 08:47:43 · 2280 阅读 · 0 评论 -
使用VLD输出日志中CallStack信息为空的解决办法
如果你使用vld来检测程序内存泄露,但是输出的信息中却没有相应的堆栈信息,那么你需要检查在vld.ini文件中的ReportEncoding参数是不是是unicode,具体原因可参考: 1. http://stackoverflow.com/questions/36382659/visual-leak-detector-vld-displays-empty-call-stack 2. http原创 2017-03-12 23:21:41 · 1849 阅读 · 0 评论