随笔分类 - C++
摘要:用#宏,见代码#include #define enum_to_string(x) #xenum sex{ boy, girl,};int main(){ std::cout << enum_to_string(sex::boy) << std::endl; system("...
阅读全文
摘要:#include #include using namespace std;class A{public: A(string name):name_(name) {} ~A() private: string name_;};int main(){ map...
阅读全文
摘要:读〈深入理解计算机系统〉2.3.3 - 补码的非,有所思,录于此话总得有个头吧,这个头就是我想知道,补码的非,这种算法用途在什么地方先看“补码的非”定义:上面是原书的截图,此处设w=4,用补码可表示的范围就是[-8,7],对于-8,它的“补码的非”还是-8,而[-7,7]补码的非就是原数的负数,比如...
阅读全文
摘要:windows 2008 r2 上面裝的VS2013, 在某一天系統更新之後,再次打開VS項目的時候就出現了上面那個問題解決方法,打開控制面板,找到下面這個程序,右擊,修復即可參考:http://blog.csdn.net/zhaoyun927/article/details/29862193
阅读全文
摘要:轉自:http://blog.chinaunix.net/uid-9543173-id-3921143.html利用OpenSSL库对Socket传输进行安全加密(RSA+AES)1. 利用RSA安全传输AES生成密钥所需的Seed(32字节)2. 利用AES_encrypt/AES_decrypt...
阅读全文
摘要:我将成员变量称之为类的属性, 将成员函数称之为类的接口关于子类继承父类, 比较让我蛋疼的用法就是在子类中直接使用父类的成员变量, 且不说父类完全有可能不是自己设计的, 就算是自己设计的, 也许已经过了N久了, 再次使用父类里面的属性时都要想一下这个属性到底是干什么用的.比如当时写了一个类:Paren...
阅读全文
摘要:1. 下载stlport. 下载地址:http://sourceforge.net/projects/stlport/2. 解压到一个目录下面, 我的是解压到D:\project_kuku\program\library\STLport-5.2.13. 打开vs2013的命令行工具, 在目录:C:...
阅读全文
摘要:崩溃弹出的截图如下看到0xC0000005, 访问冲突的问题, 九成九是内存访问违规, 比如访问了已经释放的指针, 又或者是离开函数时栈被破坏之类.找了一下午一直没有头绪, 好在有一份可以执行的源代码, 于是就将那份可执行的源代码改啊改, 改成和我的代码差不多的样子, 终于发现了问题 (我想, 这也...
阅读全文
摘要:不是C++的string, 而是C的字符串复制, 以前一直使用strcpy(), 其实也可以使用sprintf(destbuf, "%s", srcbuf); 偶有所得, 其乐无穷. 呵呵
阅读全文
摘要:错误出现的地方如下而我又重载了<运算符,但是我没有将<运算符重载函数定义成const类型,此处是const _Ty&,不可以调用非const成员函数而且,一般而言,像<,==这样的运算符号重载应该定义成const类型的函数
阅读全文
摘要:_MSC_VER 定义编译器的版本。下面是一些编译器版本的_MSC_VER值:MS VC++ 10.0 _MSC_VER = 1600MS VC++ 9.0 _MSC_VER = 1500MS VC++ 8.0 _MSC_VER = 1400MS VC++ 7.1 _MSC_VER = 1310MS VC++ 7.0 _MSC_VER = 1300MS VC++ 6.0 _MSC_VER = 1200MS VC++ 5.0 _MSC_VER = 1100其中MS VC++ 10.0就是Visual C++ 2010,MS VC++ 9.0就是Visual C++ 2008,MS VC++ 8.
阅读全文
摘要:使用VS13 跟 google protocbuf时出现了这个问题;真蛋疼,用别人的东西你就说不安全,用你自己的东西时你怎么不说不安全来着!解决方案在protoc 生成的头文件中加上#pragma waring(disable : 4996)不理它!注意#pragma warning(disable : 4996)只对当前文件(包括包含了当前文件的文件)起作用,并非对整个工程。所以要在protoc生成的头文件中添加这个宏
阅读全文
摘要:错误出现在当一个用户使用查询,另一个用户再使用此sql连接进行查询的时候;原因是因为上一次使用此sql连接进行查询时没有将所有的结果集给释放掉,在所有使用此sql连接进行查询的地方将所有的结果集给释放掉,正确的做法如下 MYSQL_RES *result_ptr = mysql_store_result(tpSqlConn); if (result_ptr) { MYSQL_ROW row = mysql_fetch_row(result_ptr); if (row) { rtn_str = row[...
阅读全文
摘要:我打算使用messagepack对通信的对象进行序列化,使用的方式参考这篇文章:http://www.cppfans.org/1410.html此处记录一下自己遇到的一些问题先是用VS2010对messagepack编译,生成静态库,这个没有问题,新建一个test项目来学习,测试messagepack,编译没有问题,连接的时候出现下面的问题错误 1 error LNK2019: 无法解析的外部符号 __imp__ntohl@4,该符号在函数 "private: static void __cdecl msgpack::packer::_pack_raw(class msgpack::
阅读全文
摘要:关于openssl的编译与使用,可以参考这两往篇文章http://blog.csdn.net/lazyclough/article/details/7456131http://www.leavesongs.com/C/OpenSSL4MD5.html
阅读全文
摘要:什么是OpenSSL众多的密码算法、公钥基础设施标准以及SSL协议,或许这些有趣的功能会让你产生实现所有这些算法和标准的想法。果真如此,在对你表示敬佩的同时,还是忍不住提醒你:这是一个令人望而生畏的过程。这个工作不再是简单的读懂几本密码学专著和协议文档那么简单,而是要理解所有这些算法、标准和协议文档的每一个细节,并用你可能很熟悉的C语言字符一个一个去实现这些定义和过程。我们不知道你将需要多少时间来完成这项有趣而可怕的工作,但肯定不是一年两年的问题。OpenSSL整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。什么是SSHSSH的英文全称是Secure SHell
阅读全文
摘要:错误发生在服务端异步收到一个socket连接,之后使用WSAGetLastError()得到的IO错误码是122这个错误码在系统中的解释是The data area passed to a system call is too small. 就是说前面的某个buffer设置的太小,看一下上一个调用的winapi是acceptEx这个函数;下面是代码(这是错误的) tRtn = lpfnAcceptEx( mListenSocket, tpOverlapEx->mCommSocket, tAcceptRecvBuf, 0, // 表示只接收连接,不接收数...
阅读全文
摘要:C++读mysql数据库中的中文显示出来的是乱码在连接到数据库后加上这么一句mysql_query(pMYSQL, "SET NAMES GB2312");或者mysql_query(pMYSQL, "SET NAMES UTF8");至于到底用GB2312,还是用UTF8,再或者是用其它的编码,得看一下MYSQL数据库用的是什么编码,数据库用什么编码,这里就用什么编码!就不会出现乱码了,值得一提的是,我的数据库端使用的是UTF8的编码,而我在客户端写的C++程序用UTF8来指定编码就出现乱码,而用GB2312就没有问题;这个问题待此项目终了后再深入研究
阅读全文
摘要:函数原型如下:PTP_IO WINAPI CreateThreadpoolIo( _In_ HANDLE fl, _In_ PTP_WIN32_IO_CALLBACK pfnio, _Inout_opt_ PVOID pv, _In_opt_ PTP_CALLBACK_ENVIRON pcbe);第一个参数表示要绑定到线程池内部IO完成端口的设备;有两点要注意。第一点 还记得创建完成端口的函数么,它有两个功能,一是创建一个新的完成端口,二是将一个设备绑定到一个完成端口上面,而此函数并没有完成第二个功能,即,它并没有将第一个参数(即设备句柄)绑定...
阅读全文
摘要:在看《windows核心编程》时,看到内存映射文件一章节,书中提到录音文件动态增长,作者也留下了连接关于他实现的“可增长的内存映射文件”的方法,我没找到,于是自己就试着写了一个,源代码贴出来,以供日后参考void increaseFile(){ using namespace std; HANDLE hFile = CreateFile( L"me", GENERIC_READ|GENERIC_WRITE, 0, NULL, CREATE_NEW, 0, NULL); if (INVALID_HANDLE_VALUE == hFile...
阅读全文
浙公网安备 33010602011771号