随笔分类 -  【1】C/C++

摘要:1、引用 1、建立引用的时候,必须初始化,引用一旦初始化,就和一个对象绑定,不能再修改为其他对象的引用 2、对引用取地址,和对原始对象取地址,是同一个地址 3、不能用做引用的:void、数组 2、内联函数 1、内联函数不能包含复杂的结构控制语句,如switch和while。如果包含了,将被视为普通函 阅读全文
posted @ 2019-05-13 14:58 傲衣华少 阅读(196) 评论(0) 推荐(0)
摘要:使用C++开发系统有时会出现段错误,即Segment Fault。此类错误程序直接崩溃,通常没有任何有用信息输出,很难定位bug,因而无从解决问题。今天我们介绍core dump文件,并使用gdb进行调试,以此来定位段错误问题。此文同时用以备忘。 一、core dump Core dump也称核心转 阅读全文
posted @ 2018-08-20 20:21 傲衣华少 阅读(1271) 评论(0) 推荐(0)
摘要:1、对Key排序。 std::map的第三个参数即为对key进行排序的比较函数。默认为less,表示升序。如果要降序,可以改为greater。 2、对Value排序 不支持,因为map不是一个序列的容器。如果真要排序,需要转为一个保存pair的vector,再排序。 不过这样性能就受损了,建议更换容 阅读全文
posted @ 2018-08-06 14:37 傲衣华少 阅读(3183) 评论(0) 推荐(0)
摘要:类成员变量: char :� //随机int :2685372 //随机string :size:0length:0 vector :0map :0 结构体 //取决于成员自己的类型 类成员静态变量: == 全局变量 char : int :0string :size:0length:0vector 阅读全文
posted @ 2018-08-01 19:44 傲衣华少 阅读(826) 评论(0) 推荐(0)
摘要:1 初识gmock 1.1 什么是Mock 便捷的模拟对象的方法。 1.2 Google Mock概述 google mock是用来配合google test对C++项目做单元测试的。它依赖于googletest Google Mock(简称gmock)是Google在2008年推出的一套针对C++ 阅读全文
posted @ 2018-07-24 19:12 傲衣华少 阅读(25148) 评论(0) 推荐(2)
摘要:本来以为像之前链接boost一样,加个链接路径就好了,没想到报找不到gtest的符号,搞了半天,没弄明白啥原因。 网上也没搜到好方法,只能把gtest的源码加到项目里,然后在链接了。 CMake配置如下: 阅读全文
posted @ 2018-07-24 15:24 傲衣华少 阅读(586) 评论(0) 推荐(0)
摘要:参考: https://www.cnblogs.com/hbccdf/p/introduction_of_cmake.html https://elloop.github.io/tools/2016-04-10/learning-cmake-2-commands 阅读全文
posted @ 2018-07-23 20:57 傲衣华少 阅读(150) 评论(0) 推荐(0)
摘要:开始使用 在BOOST库出现之前,C++对于文件和目录的操作,大都借助于UNIX提供的底层文件和目录接口,从使用角度来看,这些底层的操作不够友好。BOOST中filesystem库是一种可移植的文件系统操作库,可以跨平台的操作目录、文件等,在不失性能的情况下,提供了友好的操作方法。 本文主要介绍在U 阅读全文
posted @ 2018-06-25 19:59 傲衣华少 阅读(11579) 评论(0) 推荐(1)
摘要:介绍 学习如下gtest课程,总结主要的部分 1.玩转Google开源C++单元测试框架Google Test系列(gtest)之一 - 初识gtest 2.玩转Google开源C++单元测试框架Google Test系列(gtest)之二 - 断言 3.玩转Google开源C++单元测试框架Goo 阅读全文
posted @ 2018-06-20 14:08 傲衣华少 阅读(3685) 评论(0) 推荐(0)
摘要:1. 获得Boost 进入Boost的网站(http://www.boost.org/) 下载boost_1_62_0.zip 2. 解压Boost 解压 boost_1_62_0.zip ,比如解压到 D:\Program Files\boost\boost_1_62_0。 3. 仅需头文件的库 阅读全文
posted @ 2018-05-26 10:09 傲衣华少 阅读(362) 评论(0) 推荐(0)
摘要:正式标准是需要付费的,不过可以在http://open-std.org/上找到标准的草案(和实际标准相差不大但是可以免费获取) 下面列出一下可能会用到的标准草案:C99:http://open-std.org/JTC1/SC22/WG14/www/docs/n897.pdfC11:http://op 阅读全文
posted @ 2018-05-09 09:06 傲衣华少 阅读(230) 评论(0) 推荐(0)
摘要:注意 要去掉Show Selection Always选项。//列表选中项非焦点时也是藍色void CZZHCCEditorDlg::OnRclickList3(NMHDR* pNMHDR, LRESULT* pResult) { // TODO: Add your control notification handler code here *pResult = 0; NMLVCUSTOMDRAW* pLVCD = reinterpret_cast<NMLVCUSTOMDRAW*>( pNMHDR ); *pResult = CDRF_DODEFAULT; if ( CDDS_P 阅读全文
posted @ 2013-05-17 09:58 傲衣华少 阅读(348) 评论(0) 推荐(0)
摘要:说明:C标准的随机数产生函数rand()的随机性很不好,rand()产生的随机数序列存在一个较短的循环周期,因此它的随机数是可预测的。示例:void Noncompliant (){ enum {len = 12}; char id[len]; /* id will hold the ID, starting with * the characters "ID" followed by a * random integer */ int r; int num; /* ... */ r = rand(); /* generate a random integer */ num 阅读全文
posted @ 2012-12-03 11:18 傲衣华少 阅读(870) 评论(0) 推荐(0)
摘要:VTUNE 阅读全文
posted @ 2012-11-26 11:37 傲衣华少 阅读(165) 评论(0) 推荐(0)
摘要:DEC(十进制)HEX(十六进制)CHAR(字符)CODE(控制码)C程序(转义)00NUL\011SOH 22STX 33ETX 44EOT 55ENQ 66ACK 77BEL\a88BS\b99HT\tTab100ALF\n换行110BVT\v120CFF\f130DCR\r回车140ESO 150FSI 1610DLE 1711DC1 1812DC2 1913DC1 2014DC4 2115NAK 2216SYN 2317ETB 2418CAN 2519EM 261ASUB 271BESC 281CFS 291DGS 301ERS 311FUS 3220(space 空格) 3321!  阅读全文
posted @ 2012-10-31 14:32 傲衣华少 阅读(277) 评论(0) 推荐(0)
摘要:为ListBox关联控件变量m_ListBoxfor (int i=0; i<=20; ++i){m_List.AddString(L"123456789123456789123456789123456789123456789");}当ListBox控件加入的字符串宽度过长时,新加入的有些字符串就不能显示,此时就需要加入水平滚动条先将ListBox的Horizontal Scroll勾选上在对话框CTestDlg类中加入SetHScroll成员函数void CTestDlg::SetHScroll(){CDC* dc = GetDC();SIZE s;int inde 阅读全文
posted @ 2012-10-25 17:24 傲衣华少 阅读(3571) 评论(0) 推荐(0)
摘要:void CreateAllDirectories(CString strDir){ //remove ending / if exists if(strDir.Right(1)=="\\") strDir=strDir.Left(strDir.GetLength()-1); // base case . . .if directory exists if(GetFileAttributes(strDir)!=-1) return; // recursive call, one less directory int nFound = strDir.ReverseFind(& 阅读全文
posted @ 2011-06-15 19:13 傲衣华少 阅读(340) 评论(0) 推荐(0)
摘要:插件下载:http://files.cnblogs.com/aoyihuashao/12435_CommentWizard15.zip插件使用方法,其实附件里有,这里也贴出来:二.使用说明:1.拷贝CommentWizard.dll到VC的AddIns目录下( VC安装目录\Common\MSDev98\AddIns\)2.运行VC选择Tools-->Customize-->Add-ins and Macro Files在Add-ins and macro里选中CommendWizard VC Add-in(注释精灵),若找不到则浏览文件,然后Close,此时VC的界面里多了个To 阅读全文
posted @ 2011-04-14 17:24 傲衣华少 阅读(737) 评论(1) 推荐(0)
摘要:用MFC建立COM服务器对象的框架步骤任务1:建立第一个COM服务器任务2:用VC调用COM接口任务3:用VB调用COM接口任务4:给接口增加新的属性和方法任务5:增加新的自定义接口任务6:继承接口类例子程序在tecsp/docs/samples/comMFCDemo下COM服务器:comMFCDemoCOM对象:coDrawObj,coDrawObjLine,coDrawObjRect任务1:建立第一个COM服务器 操作: 1. 新建一个工程comMFCDemo,MFC AppWizard(dll),Regular DLL using shared MFC DLL,Automation. 说 阅读全文
posted @ 2011-03-14 08:55 傲衣华少 阅读(478) 评论(0) 推荐(0)
摘要:摘要:从建立一个COM服务程序入手,然后将一个MFC项目改造成服务程序,最后让这一程序在启动时可以显示图形界面。 关键字:windows服务程序 COM服务程序 开机前启动 NT服务 与桌面交互 一、什么是windows的服务程序? 可以使用下面的几种方法看到它。 打开控制面板,然后是管理工具,里面有一个“服务”,双击后打开; 或者是通过输入命令的方式,打开开始菜单,点击运行,输入mmc services.msc(mmc可省略),也可打开; 我们会在打开的页面中看到一个大的列表,标题栏上包含有名称、描述、状态、启动类型、登录身份等项。其中在状态一栏中显示为“已启动”的是系统 中已经... 阅读全文
posted @ 2011-03-14 08:54 傲衣华少 阅读(442) 评论(0) 推荐(0)