随笔分类 -  c/c++

linux 使用不安全的sprintf函数,存储字符越界导致程序莫名崩溃问题
摘要:linux c++编程 问题背景: 在处理一个公共模块的代码中,其中有以下代码片段 超出的字符会被截断掉,不会导致字符数组越界问题。 阅读全文
posted @ 2017-10-09 15:30 言止予思 阅读(1975) 评论(0) 推荐(0) 编辑
【转】类模版的分离编译问题
摘要:转自http://blog.csdn.net/woshishuizzz/article/details/8648440 模板不是数据类型,只能算是一种行为集合的表示。编译器在使用模板时,通过更换模板参数来创建数据类型。这个过程就是模板实例化(Instantiation), 从模板类创建得到的类型称之 阅读全文
posted @ 2017-10-08 19:42 言止予思 阅读(221) 评论(0) 推荐(0) 编辑
vscode c++ 编译生成后,调试时无法命中断点
摘要:1 //test.cpp 2 #include <stdio.h> 3 int g_var = 0; 4 void print_line(char *str) 5 { 6 if (str != NULL) 7 printf("%s\r\n", str); 8 else 9 printf("null 阅读全文
posted @ 2017-09-27 23:47 言止予思 阅读(12132) 评论(1) 推荐(0) 编辑
使用log4cplus时遇到的链接错误:无法解析的外部符号 "public: static class log4cplus::Logger __cdecl log4cplus::Logger::getInstance(class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,
摘要:error LNK2019: 无法解析的外部符号 "public: static class log4cplus::Logger __cdecl log4cplus::Logger::getInstance(class std::basic_string<wchar_t,struct std::ch 阅读全文
posted @ 2017-03-15 18:09 言止予思 阅读(3132) 评论(0) 推荐(2) 编辑
C++定义字符数组
摘要:问:C++中定义字符型数组时'\0'是不是也占一位?是不是定义char a[5],只能有4个字符?那计算字符长度时又否忽略'\0'? 答: C++中定义字符型数组时'\0'是不是也占一位?是不是定义char a[5],只能有4个字符,(是的,如果你把这个字符数组看成一个字符串的话,这里应该是最多4个 阅读全文
posted @ 2017-02-13 12:00 言止予思 阅读(23944) 评论(0) 推荐(1) 编辑
其原因可能是堆被损坏,这说明**.exe中或它加载的任何DLL中有Bug
摘要:最近在写一个写日志文件的线程时,调用了HeapAlloc/HeapFree 申请/释放堆缓冲内存。调用HeapFree释放有个条件就是,日志的空闲缓冲队列中内存块超过100个。在测试的时候,发现调用HeapFree释放内存块的时候,经常出现崩溃。 报错:其原因可能是堆被损坏,这说明**.exe中或它 阅读全文
posted @ 2016-12-22 18:48 言止予思 阅读(5141) 评论(0) 推荐(0) 编辑
C++连接mysql的两种方式(ADO连接和mysql api连接)
摘要:一、ADO连接mysql 1、安装mysql-5.5.20-win32.msi和mysql-connector-odbc-5.3.4-win32.msi(一般两个安装程序要匹配,否则可能连接不上) 然后:开始菜单->设置->控制面板->管理工具->数据源(ODBC)->系统DSN->添加->选择My 阅读全文
posted @ 2016-07-21 12:14 言止予思 阅读(8531) 评论(0) 推荐(0) 编辑
指针相关
摘要:指针指向的都是一个代表内存地址的长的十六进制数。一位十六进制数需要四个2进制数表示,即0.5字节。 指针存的是一个地址,在32位操作系统里面,最大寻址空间位0~2^32-1,即4个字节(32位)就可以表示,相应的在64位操作系统环境中用8个字节表示指针,16位系统2字节。 指针本身所占空间大小与所指 阅读全文
posted @ 2016-06-05 16:43 言止予思 阅读(488) 评论(0) 推荐(0) 编辑
C++11-新增正则表达式
摘要:1 #include <regex> 2 #include <iostream> 3 #include <string> 4 #include <atlstr.h> 5 6 static std::string U2A(CString cstring) 7 { 8 if (::IsBadString 阅读全文
posted @ 2014-03-29 22:05 言止予思 阅读(992) 评论(0) 推荐(0) 编辑