- 博客(20)
- 资源 (8)
- 收藏
- 关注
转载 Linux常用命令大全
系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpui
2014-02-27 17:53:26 610
转载 linux、Windows、boost库读写锁
读写锁实际是一种特殊的自旋锁,它把对共享资源的访问者划分成读者和写者,读者只对共享资源进行读访问,写者则需要对共享资源进行写操作。这种锁相对于自旋锁而言,能提高并发性,因为在多处理器系统中,它允许同时有多个读者来访问共享资源,最大可能的读者数为实际的逻辑CPU数。写者是排他性的,一个读写锁同时只能有一个写者或多个读者(与CPU数相关),但不能同时既有读者又有写者。1、看你是在什么平台做开发,如
2014-02-27 14:10:51 918
原创 输出文件字符序列中两侧各有且只有三个大写字母的小写字母的C++实现源代码
请找出输入源(比如 input.txt) 中所有符合下面条件的字符 //注释:这个input.txt是一个2k多行的由字母组成的文本文件1、是一个小写字母,并且,2、两侧各有 且 只有三个大写字母。例如:aAAAxAAAa 中的 x要求及说明:1、不能使用正则表达式;2、请尽量优化代码结构和算法性能;3、能适应更大规模的数据源;4、请尽量在一小时内完
2014-02-26 16:22:46 1265
转载 sscanf,sscanf_s及其相关用法
#include定义函数 int sscanf (const char *str,const char * format,........);函数说明 sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结果存于对应的参数内。返回值 成功则返回参数数目,失败则返回-1,错误原因存于errno中。 返回0表示失
2014-02-26 09:31:13 715
转载 十六进制字符串转换成十进制整数的C++实现源代码
int str2Hex( char *pstr){ int ans = 0; char *pt; pt = pstr; if( !pstr ) { return 0; } while( *pt ) { ans = ans<<4; if( ( *pt >= 'A' && *pt = 'a' && *pt <= 'f' ) ){ //cout << ((*
2014-02-25 14:32:19 1682
转载 STL中map、set的数据结构及底层实现
摘要:本文列出几个基本的STL map和STL set的问题,通过解答这些问题讲解了STL关联容器内部的数据结构,最后提出了关于UNIX/LINUX自带平衡二叉树库函数和map, set选择问题,并分析了map, set的优势之处。对于希望深入学习STL和希望了解STL map等关联容器底层数据结构的朋友来说,有一定的参考价值。STL map和set的使用虽不复杂,但也有一些不易理解的地方
2014-02-24 17:33:35 677
原创 海量日志数据,提取出某日访问百度次数最多的那个IP的C++实现源代码
1、海量日志数据,提取出某日访问百度次数最多的那个IP。 此题,在我之前的一篇文章算法里头有所提到,当时给出的方案是:IP的数目还是有限的,最多2^32个,所以可以考虑使用hash将ip直接存入内存,然后进行统计。 再详细介绍下此方案:首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,
2014-02-19 17:45:50 2691
转载 在键值表中寻找最大值的键
引言如果要寻找一段文本中出现频率最高的单词,或者出现频率最高的字符,那么首先要按单词或者字符出现的次数建立一个键值表,然后在这个键值表中寻找最大值的键。方案一在键值表中寻找最大值的键的最自然的方案如下所示: 1 T FindMaxItem(IDictionaryint> items) 2 { 3 var key = default(T); 4 var max
2014-02-19 16:44:42 1120
转载 hash_map的key为自定义类型
说来惭愧,使用了很久Visual Stdio 2003了,只知道MFC升级到了7.0,ATL也升级到了7.0,对于这两个经典的类库做了一些研究,但一直没有注意C++标准库的变化。 今天尝试的使用了stdext::hash_map这个库,果然不错。下面写下一些心得。 hash_map类在头文件hash_map中,和所有其它的C++标准库一样,头文件没有扩展名。如下声明:
2014-02-19 12:35:36 2468
转载 详细解说STL hash_map系列
详细解说STL hash_map系列0 为什么需要hash_map1 数据结构:hash_map原理2 hash_map 使用2.1 一个简单实例2.2 hash_map 的hash函数2.3 hash_map 的比较函数2.4 hash_map 函数3 相关hash容器4 其他4.1 hash_map和map的区别在哪里?4.2 什么时候需
2014-02-19 11:17:20 521
转载 hash_map和map的区别
这里列几个常见问题,应该对你理解和使用hash_map比较有帮助。 4.1 hash_map和map的区别在哪里?构造函数。hash_map需要hash函数,等于函数;map只需要比较函数(小于函数).存储结构。hash_map采用hash表存储,map一般采用红黑树(RB Tree)实现。因此其memory数据结构是不一样的。4.2 什么时候需要用hash_map,什么时
2014-02-19 10:24:02 585
转载 map和hash_map性能测试
大家都知道在C++的STL中map是使用树来做查找算法,而hash_map使用hash表来排列配对,是使用关键字来计算表位置。那使用起来他们的差别主要是什么呢?对于性能差别是什么,适合什么情况下应用呢?于是我对它们进行了一些测试,并记录了测试数据供大家分享。测试的内容主要是map和hash_map的添加、删除、查找和遍历操作,首先进行了几组测试,分别是10万次、30万次,时间单位均为毫秒,具体
2014-02-18 17:21:43 711
转载 驾驭你的“职场布朗运动” (作者李云)
在我的博客空间内,不时会有在校学生就职业发展和学习方面的内容向我寻求帮助。同学们由于初入社会没有行业经验,加上在校所学内容又广(但不深),所以在择业方面很容易产生困惑。在择业观上,他们希望找到一个将来有前途的行业,也希望在“是选择大公司还是小公司”这类问题上有人给予参考意见,也有人担心自己的学历对将来职业发展的影响。另外,在我的工作中,也不时会有同事就自己的职业发展与我探讨。他们几乎都是对
2014-02-18 14:31:37 1523
转载 错误“static_cast”: 无法从“UINT (...)(CPoint)”转换为“LRESULT (...)(CPoint)
VS2003之后,系统自带的窗口函数或回调函数用LRESULT,自定义的用UINT? 从vc6转移到vs2005 发生下面问题: BEGIN_MESSAGE_MAP(CTestDlg, CCaptionBtnDlg) ON_WM_NCHITTEST() //vs2005 检测错误在这里 END_MESSAGE_MAP() afx_
2014-02-18 13:39:46 1900
转载 CString的使用效率
CString 的一个问题是它确实掩藏了一些低效率的东西。从另外一个方面讲,它也确实可以被实现得更加高效,你可能会说下面的代码: CString s = SomeCString1;s += SomeCString2;s += SomeCString3;s += ",";s += SomeCString4;比起下面的代码来,效率要低多了:char s[1024];lstrcpy
2014-02-17 16:56:56 911
转载 CListCtrl使用技巧
VS2010默认view风格为ICON,导致列标题无法显示。以下未经说明,listctrl默认view 风格为report1. CListCtrl 风格 LVS_ICON: 为每个item显示大图标 LVS_SMALLICON: 为每个item显示小图标 LVS_LIST: 显示一列带有小图标的item LVS_R
2014-02-12 22:22:05 710
原创 for循环和while循环在使用continue时有所区别
#include "StdAfx.h"#include using namespace std;int main(void){ int i=0; for (i=0; i<100; i++) { if (i==0) { continue; } } //while循环是死循环 //int j=0; //while (j<100) //{ // if (j
2014-02-11 15:41:38 2890
原创 CString或const char数组转byte数组(unsigned char数组)
#include "StdAfx.h"#include #include #include #include using namespace std;#pragma comment(lib,"ws2_32.lib")//int转byte数组void intToByte(int i,byte *bytes,int size = 4){ //byte[] bytes = ne
2014-02-10 17:32:17 2177
转载 浅谈C++中内存分配、函数调用和返回值问题
在谈述函数调用和返回值问题之前,先来看看C++中内存分配的问题。 C++编译器将计算机内存分为代码区和数据区,很显然,代码区就是存放程序代码,而数据区则是存放程序编译和执行过程出现的变量和常量。数据区又分为静态数据区、动态数据区,动态数据区包括堆区和栈区。以下是各个区的作用:(1)代码区:存放程序代码;(2)数据区 a.静态数据区: 在编译器进行编译的时候就为该变量分配的内
2014-02-08 13:16:20 583
转载 API hook原理和实例快速入门(inline hook),以dll线程注入方式使用(win7-64bit)
一个完整的hook,如果hook程序是以dll形式生成的,是分两步:1.完成dll本身的设计和生成,2.完成dll注入程序的设计和生成本文完成第一步。第二步在http://blog.csdn.net/arvon2012/article/details/7767437有详细讲解。最近在64位win7上hook文件复制,拖拽和剪切的hook(这个要通过hook IFileOperati
2014-02-07 09:51:20 1037
VS2019编译FFMPEG5.2
2023-05-11
田字格四块简单实现
2017-08-15
gtk+-bundle_2.16.6-20100207_win32.zip
2017-01-07
C++ zip压缩解压缩源代码
2016-11-22
mysql-connector-odbc-5.3.4驱动
2015-07-29
严蔚敏《数据结构》源代码(CPP文件)
2010-04-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人