Crypt++ 动态链接库使用

使用Crypt++这个库的时候遇到一点问题
即使我使用下面的命令链接了lib后还是会出现LNK2001的错误
#pragma comment(lib,”cryptlib.lib”)
#pragma comment(lib,”cryptopp.lib”)

查阅资料,使用动态链接库版本的Crypt++,还需要
#include “dll.h”
include之后,编译正常通过

使用过程中
解决在初始化加密器对象时触发异常的问题:

CryptoPP::AESEncryption aesEncryptor;

//触发“Cryptographic algorithms are disabled after a power-up self test failed”异常,解决办法是cryptdll库的pch.h文件中添加如下宏定义:

#define CRYPTOPP_ENABLE_COMPLIANCE_WITH_FIPS_140_2 0
#if CRYPTOPP_ENABLE_COMPLIANCE_WITH_FIPS_140_2 == 1
#pragma message(“FIPS Compliance is Enabled”)
#elif CRYPTOPP_ENABLE_COMPLIANCE_WITH_FIPS_140_2 == 0
#pragma message(“FIPS Compliance is Disabled”)
#else
#pragma message(“FIPS Compliance is Ambiguous”)
#endif

即可解决问题

boost-timer 记录毫秒数

由于最近写的东西需要记录一些相对时间,要求精度为毫秒级,由于整个项目用到了boost的库所以干脆就用了boost封装过的time库。
使用方法如下

但是输出的结果仍然是用秒作为单位的浮点数不够方便所以写了一个继承类方便使用

这样子就可以愉快的使用timer_ms类记录时间了

双索引map类

由于需要双索引方便快速查找数据,故使用了map嵌套,留个记录

Ubuntu中查找并删除重复文件的命令行工具

出于各种原因总是会遇到各种重复的文件,使用命令行工具来去除重复文件就十分有必要。
这里记录一下Ubuntu下面使用工具去除重复文件
网络上介绍的去除重复的文件工具有
fdupes和fslint两种,我个人使用过程中感觉fslint没有fdupes方便。
fdupes是Linux下的一个工具,它由Adrian Lopez用C编程语言编写并基于MIT许可证发行,该应用程序可以在指定的目录及子目录中查找重复的文件。fdupes通过对比文件的MD5签名,以及逐字节比较文件来识别重复内容,fdupes有各种选项,可以实现对文件的列出、删除、替换为文件副本的硬链接等操作。
Ubuntu上安装fdupes很简单
只需要

使用帮助

Usage: fdupes [options] DIRECTORY...

-r --recurse for every directory given follow subdirectories
encountered within
-R --recurse: for each directory given after this option follow
subdirectories encountered within (note the ':' at
the end of the option, manpage for more details)
-s --symlinks follow symlinks
-H --hardlinks normally, when two or more files point to the same
disk area they are treated as non-duplicates; this
option will change this behavior
-n --noempty exclude zero-length files from consideration
-A --nohidden exclude hidden files from consideration
-f --omitfirst omit the first file in each set of matches
-1 --sameline list each set of matches on a single line
-S --size show size of duplicate files
-m --summarize summarize dupe information
-q --quiet hide progress indicator
-d --delete prompt user for files to preserve and delete all
others; important: under particular circumstances,
data may be lost when using this option together
with -s or --symlinks, or when specifying a
particular directory more than once; refer to the
fdupes documentation for additional information
-N --noprompt together with --delete, preserve the first file in
each set of duplicates and delete the rest without
prompting the user
-v --version display fdupes version
-h --help display this help message

要针对某一个文件夹去除文件夹下的重复文件可以用
fdupes -R -d -N 文件夹路径