
C++
文章平均质量分 88
jq597
职业历程
展开
-
C++11特性参考
make_sharedenable_shared_from_this原创 2020-04-29 09:20:27 · 269 阅读 · 0 评论 -
C++11 make_shared
转载自https://www.jianshu.com/p/03eea8262c11make_shared的使用:shared_ptr<string> p1 = make_shared<string>(10, '9'); shared_ptr<string> p2 = make_shared<string>("hello");...转载 2020-04-29 09:17:17 · 384 阅读 · 0 评论 -
vs2008静态编译pcre正则库
前段时间为了能够在c++里使用正则库,特地去网上下了个pcre的源码包,费了好大力气终于实现了可以将pcre在win32项目里将其作为静态库和动态库调用,今天正好抽空分享下。首先,在网上下载pcre源码包,我下的是pcre-8.34.zip,解压后其文件缩略图如下其实源码包里有详细说明手动编译pcre正则库的步骤,pcre-8.34\doc\html\NON-AUTOTOOLS-BUI原创 2014-04-02 16:39:30 · 1934 阅读 · 0 评论 -
MFC的秘密:它的静态库和动态库所在何处
1.Dependency Walker的第一道揭秘在MFC中我们写过很多静态库和动态库。这些dll都依赖于MFC;然后我们又交给别人使用,使得它们被依赖。细想一下,就可能会发现其中的不平衡。我们生成的非组件dll,要交给别人使用,必须提供h头、lib库和dll库文件;可是我们使用MFC的dll时,好像什么也没有设置,MFC不请自来的加入到我们的程序中。虽然知道这个世界,每个人其实并不是平等转载 2014-05-11 09:39:45 · 1665 阅读 · 0 评论 -
C++调用约定和名字约定
调用约定:__cdecl __fastcall与 __stdcall,三者都是调用约定(Calling convention),它决定以下内容:1)函数参数的压栈顺序,2)由调用者还是被调用者把参数弹出栈,3)以及产生函数修饰名的方法。1、__stdcall调用约定:函数的参数自右向左通过栈传递,被调用的函数在返回前清理传送参数的内存栈,2、_cdecl是C和C++程序的缺省调用方式。转载 2014-05-11 17:05:49 · 701 阅读 · 0 评论 -
vs+openoffice
大家好!想必大家都知道OpenOffice这个一个跨平台的免费办公软件吧!OpenOffice是Apache的开源项目,不仅仅使用起来方便,它还具备一个强大的开发套件——UNO组件.这也使得我们开发者可以在不同平台,不同语言下开发办公类软件.其实OpenOffice的架构非常清晰,学习起来难度不会特别大,而且也非常有趣.其功能也是相当强大,可以操作很多类型的文件,例如MS office的文件,时下转载 2014-11-11 17:26:39 · 1171 阅读 · 2 评论 -
编译Boost 详细步骤 适用 VC6 VS2003 VS2005 VS2008 VS2010
vs2008编译boost 【一、Boost库的介绍】Boost库是一个经过千锤百炼、可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,其成员已近2000人。 Boost库为我们带来了最新、最酷、最实用的技术,是不折不扣的“准”标准库。转载 2014-11-05 13:34:27 · 655 阅读 · 0 评论 -
C++面试题整理
referencehere2007年摩托罗拉笔试题1. 介绍一下STL,详细说明STL如何实现vector。STL (标准模版库,Standard Template Library.它由容器算法迭代器组成。STL有以下的一些优点:可以方便容易地实现搜索数据或对数据排序等一系列的算法;调试程序时更加安全和方便;即使是人们用STL在UNIX平台下写原创 2015-01-06 15:07:32 · 542 阅读 · 0 评论 -
vs2008使用gsoap调用WeatherWS
本文参考自http://www.cnblogs.com/virtorld/archive/2012/11/16/2773395.html,不过这里的代码有几处问题,已修改,依据此流程可直接运行。1. 下载gSOAPgSOAP下载地址http://sourceforge.net/projects/gsoap2/我下载的版本是gsoap-2.82.原创 2014-12-17 16:14:29 · 1380 阅读 · 0 评论 -
C++参考链接地址
1、支持C++11标准的编译器概览2、C++0x/C++11 Support in GCC3、C++博客参考1原创 2013-04-24 15:10:26 · 748 阅读 · 0 评论 -
C++调试排查技巧
1. 调用栈系列下面是函数原型:1234#include "execinfo .h"int backtrace(void **buffer, int size);char **backtrace_symbols(void *const *buffer, int size);void backtrace_symbols_fd(void *cons转载 2016-06-16 19:57:24 · 1666 阅读 · 0 评论 -
win32静态库使用mfc中msword类型库
最近有个项目当中需要读取word文件,但是工程项目并非mfc工程,于是就在网上各种搜:win32使用mfc类型库,这样的例子网上有很多,但是拿来的时候总是出各种问题,经过重重百度+谷歌,现在终于实现了win32的静态库下调用word的功能了,现就详细处理过程记录如下。首先,word使用的头文件主要有4个CApplication.h、CDocument0.h、CDocuments.h、CRang原创 2014-02-25 10:45:47 · 2323 阅读 · 0 评论 -
C++静态库与动态库
这次分享的宗旨是——让大家学会创建与使用静态库、动态库,知道静态库与动态库的区别,知道使用的时候如何选择。这里不深入介绍静态库、动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书《程序员的自我修养——链接、装载与库》。什么是库库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。本质上来说库转载 2014-02-12 14:05:09 · 715 阅读 · 0 评论 -
C++调用约定和名字约定
调用约定:__cdecl __fastcall与 __stdcall,三者都是调用约定(Calling convention),它决定以下内容:1)函数参数的压栈顺序,2)由调用者还是被调用者把参数弹出栈,3)以及产生函数修饰名的方法。1、__stdcall调用约定:函数的参数自右向左通过栈传递,被调用的函数在返回前清理传送参数的内存栈,2、_cdecl是C和C++程序的缺省调转载 2013-04-24 21:35:18 · 590 阅读 · 0 评论 -
C++ sizeof 操作符的用法总结
在VC中,sizeof有着许多的用法,而且很容易引起一些错误。下面根据sizeof后面的参数对sizeof的用法做个总结。 A.参数为数据类型或者为一般变量:例如sizeof(int),sizeof(long)等等。这种情况要注意的是不同系统系统或者不同编译器得到的结果可能是不同的。例如int类型在16位系统中占2个字节,在32位系统中占4个字节。转载 2013-07-14 22:44:21 · 745 阅读 · 0 评论 -
C++ 自定义结构体和类 内存对齐
为什么要提出内存对齐?比如这么一种处理器,它每次读写内存的时候都从某个8倍数的地址开始,一次读出或写入8个字节的数据,假如软件能保证double类型的数据都从8倍数地址开始,那么读或写一个double类型数据就只需要一次内存操作。否则,我们就可能需要两次内存操作才能完成这个动作,因为数据或许恰好横跨在两个符合对齐要求的8字节内存块上。(在有谢处理器上内存不对齐的话可能会出现错误)转载 2013-07-14 23:08:59 · 748 阅读 · 0 评论 -
C++中强制转换
C++中的四种强制转换类型的有什么不同,或者是说用法的不同?dynamic_case,static_case的不同?修改了其中的一处笔误:reinterpret_cast 错写成reinpreter_cast使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。1 static_cast用法:st转载 2013-04-26 21:05:42 · 1188 阅读 · 0 评论 -
BSTR、LPSTR和LPWSTR
一、 BSTR、LPSTR和LPWSTR 在Visual C++.NET的所有编程方式中,我们常常要用到这样的一些基本字符串类型,如BSTR、LPSTR和LPWSTR等。之所以出现类似上述的这些数据类型,是因为不同编程语言之间的数据交换以及对ANSI、Unicode和多字节字符集(MBCS)的支持。那么什么是BSTR、LPSTR以及LPWSTR呢? BSTR(Basi转载 2013-07-30 17:58:26 · 826 阅读 · 0 评论 -
MultiByteToWideChar和WideCharToMultiByte用法详解
1.使用方法详解 在本文开始之处,先简要地说一下何为短字符和宽字符. 所谓的短字符,就是用8bit来表示的字符,典型的应用是ASCII码.而宽字符,顾名思义,就是用16bit表示的字符,典型的有UNICODE.关于windows下的ASCII和UNICODE的更多信息,可以参考这两本经典著作:《windows 程序设计》,《windows 核心编程》.这两本书关于这两种字符都有比较转载 2013-07-31 09:41:21 · 546 阅读 · 0 评论 -
C/C++运算符优先级总结
C语言操作符优先级优先级运算符含 义要求运算对象的个数结合方向1()[]->.圆括号下标运算符指向结构体成员运算符结构体成员运算符 自左至右2!逻辑非运算符1(单目运原创 2013-08-18 10:55:49 · 1053 阅读 · 0 评论 -
结构体对齐详解
为什么要内存对齐呢,就是方便CPU寻址了,具体原因大家要参考计算机体系结构了。先看一个内存对齐的例子: struct example1{ char a; double b; long l;}; struct example2{ char a;转载 2013-09-09 10:01:40 · 622 阅读 · 0 评论 -
C++内存管理学习
C++内存管理学习笔记(1)/****************************************************************//* 学习是合作和分享式的!/* Author:Atlas /* 转载请注明本文出处: /***********************转载 2013-07-14 23:07:40 · 938 阅读 · 0 评论 -
有关(int&)和(int)的区别
先看一段程序123456789101112131415161718192021222324252627#include "stdafx.转载 2014-01-11 11:55:58 · 1546 阅读 · 0 评论 -
C++数据类型转换
int i = 100;long l = 2001;float f=300.2;double d=12345.119;char username[]="lanshuimei";char temp[200];char *buf;CString str;_variant_t v1;_bstr_t v2;一、其它数据类型转换为字符串· 短整转载 2013-04-24 15:15:32 · 1508 阅读 · 0 评论