C
文章平均质量分 92
Oo璀璨星海oO
这个作者很懒,什么都没留下…
展开
-
C++ 编译器对字符编码的要求和处理方式
http://blog.csdn.net/dbzhang800/article/details/7540905长期以来,很多人都清楚,一旦C++源码中直接使用了中文,这样的源码想要跨平台(I18N)会非常困难。随着:Windows下:MSVC2010成为主流 Linux下:GCC升级到4.6C++中的中文问题 才算有了一个比较优雅的、跨平台的Workaround。(本文讨论编译器范围:GCC4.6+, MSVC2010sp1+ 。本文属于QString系列,但暂不涉及QStri转载 2021-08-26 20:10:32 · 2393 阅读 · 0 评论 -
MSVC 版本号对应
MSVC++ 14.0 _MSC_VER == 1900 (Visual Studio 2015)MSVC++ 12.0 _MSC_VER == 1800 (Visual Studio 2013)MSVC++ 11.0 _MSC_VER == 1700 (Visual Studio 2012)MSVC++ 10.0 _MSC_VER == 1600 (Visual Studio 2010)MSVC++ 9.0 _MSC_VER == 1500 (Visual Studio 2008)M.转载 2020-09-23 19:04:08 · 1141 阅读 · 0 评论 -
_beginthread 和 CreateThread 区别
程序员对于Windows程序中应该用_beginthread还是CreateThread来创建线程,一直有所争论。本文将从对CRT源代码出发探讨这个问题。I. 起因今天一个朋友问我程序中究竟应该使用_beginthread还是CreateThread,并且告诉我如果使用不当可能会有内存泄漏。其实我过去对这个问题也是一知半解,为了对朋友负责,专门翻阅了一下VC的运行库(CRT)源代码,终于找到了答案。II. CRTCRT(C/C++ Runtime Library)是支...转载 2020-05-21 19:25:29 · 264 阅读 · 0 评论 -
数据结构图文解析之:队列详解与C++模板实现
原创文章,转载请注明出处:http://www.cnblogs.com/QG-whz/p/5171123.html#_label3_0阅读目录0. 数据结构图文解析系列1. 队列简介1.1 队列的特点1.2 队列的相关概念1.3 队列的操作1.4 队列的存储结构2.基于数组的循环队列实现2.1 循环队列的抽象数据类型2.2 队列的具体实现2.3 循环队列代码测试转载 2016-12-15 22:52:30 · 1103 阅读 · 0 评论 -
c++ 预处理指令 data_seg, section 用法介绍
参考资料: https://msdn.microsoft.com/en-us/library/d9x1s805.aspx1. data_seg#pragma data_seg(".test")int g_test1 = 5;int g_test2 = 5;#pragma data_seg()#pragma comment(linker, "/SECTION:.test,原创 2017-08-18 17:59:45 · 2939 阅读 · 0 评论 -
和 Thrift 的一场美丽邂逅
转载自:https://www.cnblogs.com/cyfonly/p/6059374.html 一. 与 Thrift 的初识也许大多数人接触 Thrift 是从序列化开始的。每次搜索 “java序列化” + “方式”、“对比” 或 “性能” 等关键字时,搜索引擎总是会返回一大堆有关各种序列化方式的使用方法或者性能对比的结果给你,而其中必定少不了 Thrift,并且其性能还不错嘞,至少比那战...转载 2018-04-25 19:00:12 · 209 阅读 · 0 评论 -
windows的磁盘操作之二——初始化磁盘
转载自:https://blog.csdn.net/gaiazhang/article/details/65630057上一节中我们介绍了一些基本概念和主要的API,本节开始我们将列举并分析一些实例。本文中的所有代码我都在vs2008下测试过,读者只需要替换少量的宏定义即可编译执行。 面对一块新的磁盘,我们首先要做的就是对其初始化。在系统中通过windows的磁盘管理完成这一点非常容易...转载 2018-07-31 19:58:22 · 1290 阅读 · 0 评论 -
C++ 应用托管 CLR 4 并调用 .NET 程序集 (CppHostCLR)
查看链接:https://code.msdn.microsoft.com/CppHostCLR-e6581ee0参考链接:https://docs.microsoft.com/en-us/previous-versions/dotnet/netframework-4.0/01918c6x(v=vs.100)简介公共语言运行时 (CLR) 允许自身与主机之间的集成级别。此 C++ 代码示...转载 2018-08-20 20:45:18 · 1900 阅读 · 0 评论 -
VS2012下X64平台嵌入汇编程序
转载自:https://blog.csdn.net/woshiyuanlei/article/details/54646874VS2012在win32平台编译的时候可以很好的支持汇编语言的嵌入。建立一个控制台应用程序,选择空项目。项目建立好之后添加一个.cpp文件。在cpp文件中写入如下代码: #include <iostream> using namespac...转载 2018-09-28 15:41:07 · 357 阅读 · 0 评论 -
x86平台转x64平台关于内联汇编不再支持的解决
2011/08/25 把自己碰到的问题以及解决方法给记录下来,留着备用! 工具:VS2005 编译器:cl.exe(X86 C/C++) ml64.exe(X64 ASM64)前提:X86下内联汇编是嵌在函数当中实现的 在X86平台下,可以轻松的在C/C++代码中嵌入汇编代码,称其为“内联汇编”,使用”__asm{}”语法即可,比较简单,这里不做介绍。当你在X86平台下...转载 2018-09-28 15:45:33 · 8543 阅读 · 0 评论 -
window 下jansson安装和使用
转载自:https://blog.csdn.net/bvngh3247/article/details/81150086Jansson是一个用于编码,解码和操作JSON数据的C库。它的特点是:简单直观的API和数据模型综合文件不依赖于其他库完整的Unicode支持(UTF-8)广泛的测试套件官网:http://www.digip.org/jansson/安装官网方法:https:...转载 2018-09-29 11:30:52 · 1032 阅读 · 0 评论 -
[c、c++]宏中"#"和"##"的用法
转载自:https://blog.csdn.net/blackbillow/article/details/3850587宏中"#"和"##"的用法一、一般用法我们使用#把宏参数变为一个字符串,用##把两个宏参数贴合在一起.用法:#include<cstdio>#include<climits>using namespace std;#define ST...转载 2019-05-29 10:38:00 · 523 阅读 · 0 评论 -
通过freetype库实现矢量显示
转载自:https://blog.csdn.net/guoke312/article/details/79562920本章主要内容如下:1)矢量字体原理 2)使用freetype库实现矢量字体显示1. 矢量字体原理 将汉字的笔划边缘用直线段描述成封闭的曲线,并将线段各端点的坐标经压缩存储,如下图所示:...转载 2019-07-22 20:01:51 · 772 阅读 · 0 评论 -
freetype多行显示,居中显示
转载自:https://www.cnblogs.com/lifexy/p/8514154.html本章主要内容如下:1)多行显示 2)居中显示在上章3.数码相框-通过freetype库实现矢量显示里,我们使用矢量坐标时,该坐标仅仅在原点位置处,所以文字有可能会超出坐标,如下图所示:既然超出了坐标,会不会被下一行的文字覆盖掉?答:对于几行同样大的文字而言,不会的....转载 2019-07-22 20:03:08 · 1216 阅读 · 0 评论 -
try ... catch 与 __try ... __except
2009年09月24日VC中的这两个东西肯定谁都用过,不过它们之间有什么区别, 正好有时间研究了一下, 如果有错误欢迎拍砖. 基于VC2005, 32位XP 平台测试通过. 估计对于其他版本的VC和操作系统是不通用的. 1. try ... catch 这个是C++语言定义的, 每个C++都有对其的不同的实现. 使用也很简单. 比如我们有一个函数, 读入年龄. 如果=100,转载 2015-12-22 10:48:06 · 708 阅读 · 0 评论 -
c++异常处理机制
转载地址: http://blog.csdn.net/hanchaoman/article/details/5914204C++异常处理机制是一个用来有效地处理运行错误的非常强大且灵活的工具,它提供了更多的弹性、安全性和稳固性,克服了传统方法所带来的问题.异常的抛出和处理主要使用了以下三个关键字: try、 throw 、 catch 。抛出异常即检测是否产生异常,在C++转载 2015-12-22 09:46:04 · 430 阅读 · 0 评论 -
C++处理异常技巧-try,catch,throw,finally
异常处理的基本思想是简化程序的错误代码,为程序键壮性提供一个标准检测机制。也许我们已经使用过异常,但是你会是一种习惯吗,不要老是想着当我打开一个文件的时候才用异常判断一下,我知道对你来说你喜欢用return value或者是print error message来做,你想过这样做会导致Memory Leak,系统退出,代码重复/难读,垃圾一堆…..吗?现在的软件已经是n*365*24小时的转载 2015-12-22 09:25:26 · 1350 阅读 · 0 评论 -
VS2008:Debug&Release解析
引用evaine 的(zz)VS2008:Debug&Release解析 一、Debug 和 Release 编译方式的本质区别Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。Debug 和 Release转载 2012-03-23 09:38:19 · 962 阅读 · 0 评论 -
static_cast、dynamic_cast、reinterpret_cast、和const_cast
关于强制类型转换的问题,很多书都讨论过,写的最详细的是C++ 之父的《C++的设计和演化》。最好的解决方法就是不要使用C风格的强制类型转换,而是使用标准C++的类型转换符:static_cast, dynamic_cast。标准C++中有四个类型转换符:static_cast、dynamic_cast、reinterpret_cast、和 const_cast。下面对它们一一进行介绍。 I转载 2012-04-17 14:44:22 · 398 阅读 · 0 评论 -
C++ 编译器的函数名修饰规则
函数名字修饰(Decorated Name)方式 函数的名字修饰(Decorated Name)就是编译器在编译期间创建的一个字符串,用来指明函数的定义或原型。LINK程序或其他工具有时需要指定函数的名字修饰来定位函数的正确位置。多数情况下程序员并不需要知道函数的名字修饰,LINK程序或其他工具会自动区分他们。当然,在某些情况下需要指定函数的名字修饰,例如在C++程序中,为了让L转载 2012-04-20 15:32:59 · 1204 阅读 · 0 评论 -
A Guide To MSDN Integration (Visual Studio 6.0)
From: http://www.codejock.com/support/articles/mfc/general/g_4.aspAuthor: Kirk StowellPosted: November 16, 2007Environment: Visual C++ MFCIf you are like me, the lack of document转载 2012-06-05 14:00:53 · 811 阅读 · 0 评论 -
MSDN帮助集成指南
MSDN帮助集成指南From: http://www.vckbase.com/document/viewdoc/?id=512 介绍很早以前我就想过将一些常用的HTML Help帮助信息(也就是CHM文件)集成到MSDN库中,但一直都没有找到好的办法。有一天我偶然上了codejoke的网站,发现了它:MSDN Integration,这不就是我梦寐以求的吗?真是梦里寻她转载 2012-06-05 14:10:49 · 752 阅读 · 0 评论 -
如何关闭VS2008的intellisense
VS2008的intellisense每次更新时都会占用大量的CPU,对于在虚拟机里面开发来说,这个真的很难忍受,有时候开了三四个debug的时候突然更新一下,整个虚拟机都卡住半天。 由于没找到相关的设置按钮,所以上网查了一下解决办法,中文查出来的方法只有一个,删除某个dll文件,但是下面同样注明了这种方法将导致无法添加atl简单类之类的副作用。详情:http://hi.baidu.co转载 2012-12-16 14:17:24 · 2272 阅读 · 0 评论 -
DLL导出类的复用问题
DLL动态链接库是程序复用的重要方式,DLL可以导出函数,使函数被多个程序复用,DLL中的函数实现可以被修改而无需重新编译和连接使用该DLL的应用程序。作为一名面向对象的程序员,希望DLL可以导出类,以便在类的层次上实现复用。所幸的是,DLL确实也可以导出类。然而事实却没这么简单,导出类的DLL在维护和修改时有很多地方必需很小心,增加成员变量、修改导出类的基类等操作都可能导致意想不到的后果转载 2013-01-25 15:31:29 · 541 阅读 · 0 评论 -
VS2005、VS2008、VS2010、VS2012解决方案和工程项目文件转换方法
本文固定链接: http://blog.xieyc.com/vs2005-2012-solution-and-project-convertion/ | 小谢的小站 由于不同项目的需要,自己的电脑上安装了Visual Studio 2005、2008、2010等版本,近期还体验了VS2012。众所周知,使用某个Visual Studio版本创建的项目或解决方案,不能直接使用其他版本的V转载 2015-02-10 16:06:45 · 3215 阅读 · 1 评论 -
Visual C++下的unicode
一、什么是Unicode 先从ASCII说起,ASCII是用来表示英文字符的一种编码规范。每个ASCII字符占用1个字节,因此,ASCII编码可以表示的最大字符数是 255(00H—FFH)。其实,英文字符并没有那么多,一般只用前128个(00H—7FH,最高位为0),其中包括了控制字符、数字、大小写字母和其它一些符号。而最高位为1的另128个字符(80H—FFH)被称为“扩展A转载 2015-01-26 11:21:50 · 569 阅读 · 0 评论 -
pdb文件 小结
转自: http://www.cnblogs.com/lidabo/p/3486114.html.pdb文件,是VS生成的用于调试的符号文件(program database),保存着调试的信息。在VS的工程属性,C/C++,调试信息格式,设置/Zi,那么VS就会在构建项目时创建PDB文件。在这里要区分两种情况:1、构建静态库时,可以在工程属性 –> C/C转载 2016-01-04 09:40:15 · 2011 阅读 · 0 评论 -
VS中调试时不能关联源代码问题
转自: http://blog.csdn.net/hydream/article/details/7241439/*****************************************************************//** 本人原创文章,转摘请保留本段内容,万分感谢!/** microdreamsoft(Lin Shaohua)转载 2016-01-04 09:52:28 · 6839 阅读 · 2 评论 -
VS2013 pdb 加载位置
加载符号文件(pdb)位置:1. 执行模块所在目录2. 执行模块调试信息中指定的位置(CV_RSDS结构中的pdb字段)3. 设置的符号文件目录注: Microsoft符号服务器的符号文件是放在一个用执行模块特征签名命名的文件夹中的其中,PE 映像签名和 PDB 文件名都保存在 PE 文件的 IMAGE_DIRECTORY_ENTRY_DEBUG 数据目录之中,原创 2016-01-04 14:56:17 · 2903 阅读 · 0 评论 -
C/C++内存泄漏及检测
转自: http://www.cnblogs.com/skynet/archive/2011/02/20/1959162.html“该死系统存在内存泄漏问题”,项目中由于各方面因素,总是有人抱怨存在内存泄漏,系统长时间运行之后,可用内存越来越少,甚至导致了某些服务失败。内存泄漏是最难发现的常见错误之一,因为除非用完内存或调用malloc失败,否则都不会导致任何问题。实际上,使用转载 2016-01-04 16:54:45 · 599 阅读 · 0 评论 -
C运行时库的流分析(stream)
#define stdin (&_iob[0])#define stdout (&_iob[1])#define stderr (&_iob[2])/* Buffer pointers for stdout and stderr */void *_stdbuf[2] = { NULL, NULL};//==============================================================//ioinfo 结构(INTERNAL.H)/* * Control struc原创 2011-03-25 11:38:00 · 1271 阅读 · 0 评论