![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 64
「已注销」
这个作者很懒,什么都没留下…
展开
-
库的 link 和 runtime-link,搭配shared 和 static
静态库:在编译的时候加载生成目标文件,在运行时不用加载库,在运行时对库没有依赖性。 动态库:在目标文件运行时加载,手动加载,且对库有依赖性。 两者区别: 一,静态库的使用需要: 1 包含一个对应的头文件告知编译器lib文件里面的具体内容 2 设置lib文件允许编译器去查找已经编译好的二进制代码 二,动态库的使用: 程序运行时需要加载动态库,对动态库有依赖性,需要转载 2014-12-30 22:00:55 · 709 阅读 · 1 评论 -
QWT编译、配置、使用(VS2010 + Qt5.1.0)
QWT,全称是Qt Widgets for Technical Applications,是一个基于LGPL版权协议的开源项目,可生成各种统计图。它为具有技术专业背景的程序提供GUI组件和一组实用类,其目标是以基于2D方式的窗体部件来显示数据, 数据源以数值,数组或一组浮点数等方式提供, 输出方式可以是Curves(曲线),Slider(滚动条),Dials(圆盘),Compasses(仪表盘转载 2015-05-03 13:24:06 · 728 阅读 · 0 评论 -
Avoid Using The “system("pause")” !
Avoid Using The “system("pause")” !About system("pause")I've never understood why system("PAUSE") is so popular. Sure it will pause a program before it exits. This pause is very use转载 2015-10-15 12:20:50 · 357 阅读 · 0 评论 -
C++11: std::threads managed by a designated class
Recently I have noticed an unobvious problem that may appear when using std::threads as class fields. I believe it is more than likely to meet if one is not careful enough when implementing C++ classe转载 2017-01-17 11:36:29 · 368 阅读 · 0 评论 -
STLPort、Loki之内存分配器
STLPort、Loki之内存分配器一个好的内存分配器(allocator),对于服务器的性能是至关重要的,vc版STL、STLPort、Loki、ACE之类的库都带了内存分配器,但是它们的实现方法、效率都有所不同,在别人的代码里也看了不少别人写的内存分配器,自己也写过一个内存分配器,它们或多或少都有一些不满足要求、不够灵活或者效率还可以改善之类的问题,现在在这里对这些内存分配器做一个比较转载 2015-07-05 19:28:39 · 513 阅读 · 0 评论 -
编译Boost 详细步骤 适用 VS2013
vs2008编译boost 【一、Boost库的介绍】Boost库是一个经过千锤百炼、可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,其成员已近2000人。 Boost库为我们带来了最新、最酷、最实用的技术,是不折不扣的“准”标准库。转载 2014-12-30 21:59:13 · 868 阅读 · 0 评论 -
C++内存区块
转载 2015-01-22 23:11:14 · 362 阅读 · 0 评论 -
STL三大著名版本的趣闻
STL比较出名的有如下三个: 一个是SGI STL。STL之父离开HP之后就去了SGI(当然不是去搞侏罗纪公园),然后和Matt Austern这些STL大牛一起搞了SGI STL。SGI STL技术比较新,很规范(但是代码读起来未必好懂) 像concept checking这些技术用的不少,boost graph library的想法也是在这其中产生的。后来有人觉得sgi stl很转载 2015-04-20 12:52:04 · 625 阅读 · 0 评论 -
boost-1.55.0和STLport-5.2.1的适配
编译环境:WIN8.1,VS2013专业版update3一、编译boost本博客已有,参考列表,不再赘述。二、STLport适配因为STLport并不完整支持C++11,所以需要修改一些STLport的源码,如下:1. 将_cstdlib.h(158)代码修正为#if !defined(_STLP_MSVC) || (_STLP_MSVC转载 2015-04-14 23:11:44 · 749 阅读 · 0 评论 -
请禁用VS(C++)2013的链接器的COMDAT选项
编译器开发一直是计算机科学中的基础性重点研究领域以至于国内每本计算机导论类的教材都将其归为和OS一级的系统软件,所以经过几十年的发展编译原理有一整套完善详尽的理论。在科学领域追求真理的道路上不存在终点,有的只是一代代开拓者们对精益求精的诠释。编译器对程序的优化有三条基本原则:(1)等价原则。经过优化后不应改变程序运行的结果;(2)有效原则。使优化后所产生的目标代码运行时间较转载 2015-04-16 00:05:31 · 2539 阅读 · 0 评论 -
C++ 前置操作符与后置操作符
int a;++a;//前置操作符a++;//后置操作符C语言中,常常使用后置操作符。而C++中建议,只有在必要时才使用后置操作符。因为前置操作需要做的工作更少,只需加1后返回加1的结果即可。而后置操作符则必须先保存操作数原来的值,以便返回未加1之前的值作为操作的结果。对于int型对象和指针,编译器可优化掉这项额外工作。但是对于更多的复杂迭代器类型,这种额外转载 2015-04-17 20:23:48 · 414 阅读 · 0 评论 -
QString和string互转中文字符
string -> QString1 std::string strStd = "中文字符";2 QString strQ = QString::fromLocal8Bit(strStd.c_str());QString -> string1 QString strQ("中文字符");2 std::string strStd= strQ.toStdString();3转载 2015-05-03 15:22:12 · 791 阅读 · 0 评论 -
QMake 生成VS2013的工程文件
QT的bin目录加入到系统环境变量打开CMD,切换到源代码文件夹下,输入 qmake -project 生成.pro的QT工程文件再次输入 qmake -r -spec win32-msvc2013 -tp vc 即可生成2013的vcxproj工程文件转载 2015-05-07 16:21:54 · 410 阅读 · 0 评论 -
教你看懂C++类库函数定义之一---HRESULT 宏
一切从一个C++ 类库头文件开始,现在在做一个C++的项目,期间用到一个开源的界面库DUILib(类似MFC),这个东西还不错能很容易的写出漂亮的界面,比如QQ的界面,可以去下载下来研究研究,地址:http://code.google.com/p/duilib/废话不多说,我比较困扰的是UIWebBrowser.h这个头文件,虽然是C++写的,但里面包含太多大学C++课本以外的东西,第一遍转载 2015-05-27 22:30:18 · 436 阅读 · 0 评论 -
教你看懂C++类库函数定义之二---STDMETHOD介绍
一切从一个C++ 类库头文件开始,现在在做一个C++的项目,期间用到一个开源的界面库DUILib(类似MFC),这个东西还不错能很容易的写出漂亮的界面,比如QQ的界面,可以去下载下来研究研究,地址:http://code.google.com/p/duilib/废话不多说,我比较困扰的是UIWebBrowser.h这个头文件,虽然是C++写的,但里面包含太多大学C++课本以外的东西,第一遍转载 2015-05-27 22:29:23 · 417 阅读 · 0 评论 -
教你看懂C++类库函数定义之三---_stdcall
一切从一个C++ 类库头文件开始,现在在做一个C++的项目,期间用到一个开源的界面库DUILib(类似MFC),这个东西还不错能很容易的写出漂亮的界面,比如QQ的界面,可以去下载下来研究研究,地址:http://code.google.com/p/duilib/废话不多说,我比较困扰的是UIWebBrowser.h这个头文件,虽然是C++写的,但里面包含太多大学C++课本以外的东西,第一遍转载 2015-05-27 22:31:33 · 442 阅读 · 0 评论 -
C++匈牙利命名法
匈牙利命名法匈牙利命名法是一种编程时的命名规范。基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。命名要基于容易记忆容易理解的原则。保证名字的连贯性是非常重要的。举例来说,表单的名称为form,那么在匈牙利命名法中可以简写为frm,则当表单变量名称为Switchboard时,变量全称应该为frmSwitchboard。这转载 2015-05-27 22:30:35 · 408 阅读 · 0 评论 -
最简洁的C++ split
std::vector<std::string> split(const std::string& s, char delimiter){ std::vector<std::string> tokens; std::string token; std::istringstream tokenStream(s); while (std::getline...原创 2018-07-06 11:40:21 · 14002 阅读 · 0 评论