酒鬼z

我自将心向明月,独卧沙场醉圆缺

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

文章分类 -  VC

摘要:转自:http://blog.csdn.net/pkrobbie/article/details/1609996很多语言和系统都自带了对正则表达式(Regular expression)的支持。很遗憾用户数量巨大的Windows/C++没有。如果想在Windows平台的C++语言下使用正则表达式,需要自己编写或者使用其他第三方正则表达式库。C++最著名的正则表达式库就是boost regex,出自John Maddockhttp://www.boost.org/libs/regex/doc/index.html麻烦是需要整套boost的支持。另一个版本是GRETA(The GRETA Regu 阅读全文
posted @ 2014-01-23 15:04 酒鬼z 阅读(94) 评论(0) 推荐(0)

摘要:转自:http://blog.163.com/markwhite@126/blog/static/140839989201191441820421/近来写程序时发现了一个问题,用 VC 编译 C语言是 总是提示一个错误:error C2143: syntax error : missing ';' before 'type'。考虑了很久也没有答案,于是上网搜索,终于在一位网友博客中找到了解决办法。解决方法如下:把所有变量的声明放在可执行代码之前。出现此问题的原因在于:将文件保存成了 *.c 格式。如果是 cpp 格式就能正常编译。这是因为:在 ANSI C 或者 阅读全文
posted @ 2014-01-08 13:11 酒鬼z 阅读(327) 评论(0) 推荐(0)

摘要:From:http://www.debuginfo.com/articles/debuginfomatch.htmlIntroductionDebug information in PE executablesDebugDir exampleDebug information in a separate filePDB filesDBG filesMatching debug information - the detailsWhen matching is not desirableChkMatch toolIntroduction We know that debug informatio 阅读全文
posted @ 2014-01-07 20:10 酒鬼z 阅读(366) 评论(0) 推荐(0)

摘要:转自:http://blog.csdn.net/windtalkersm/article/details/5620551CL.exe 的命令行编译断断续续接触了几次,每次都忘,每次都重新查。每次都搞不清楚语法,尤其是传给linker的参数。因为网上所有的文章都是一样的,都是详细 的参数列表,都是没有实例。为了和大众保持一致,我在下面也copy一个详细的参数列表---只是在前面加几个实例cl.exe test.cpp /EHsc /I"C:/OpenCV2.0/include/opencv/" cv200.lib highgui200.libcxcore200.lib/lin 阅读全文
posted @ 2013-12-12 09:22 酒鬼z 阅读(517) 评论(0) 推荐(1)

摘要:在同一工程中放置多语言版本资源可以直接编译一个执行文件支持多个语言版本自动切换,会根据系统设定的语言环境进行切换,这篇文章中还要修改资源的方法值得商榷。。。原文地址:vc实现多语言资源作者:ablab用VC5.0实现:软件中的多种语言支持 MSWindows操作系统是一个世界上广泛使用的操作系统,对于不同语种的国家MSWindows有相应语种的版本。在不同语种的Windows平台上应该运行相应语种的应用程序。也就是说程序的用户界面(如菜单、对话框、状态条)中的提示文字应该使用和Windows操作系统所使用的语种一致。当然英语用户界面的程序可以运行在其它语言平台上,但比较复杂的程序或多或少都有. 阅读全文
posted @ 2013-12-12 09:21 酒鬼z 阅读(279) 评论(0) 推荐(0)

摘要:出处http://blog.chinaunix.net/u/8681/showart_2052087.html缘由: 习惯于在自己写的Vim插件中写试验性的小代码片段, 可以一键编译+链接+运行+显示结果于Vim窗口中, 同时可使用VC, GCC编译器, 方便地用pc-lint检查代码. 但在笔记本上如何避免安装一个庞大的Visual Studio, 目的只是以命令行方式使用其VC编译器?搜索的结果表明, 一些人希望做自定制的build过程时, 也希望能达到这一效果, 微软员工的一个blog中(http://blogs.msdn.com/nikolad/archive/2005/02/09 / 阅读全文
posted @ 2013-12-04 14:28 酒鬼z 阅读(562) 评论(0) 推荐(0)

摘要:转自:http://huliqin1022.blog.163.com/blog/static/1317115302010140542485/方法一:CFileFind m_FileFind;CString m_sFilePath = "D:\\Program Files\\Adobe\\Adobe Flash CS3";if(!m_FileFind.FindFile(m_sFilePath)) //路径不存在则创建该路径{ CreateDirectory(m_sFilePath,NULL);}方法二:CString strFilePath; strFilePath = &q 阅读全文
posted @ 2013-09-29 19:04 酒鬼z 阅读(226) 评论(0) 推荐(0)

摘要:1.VC 10 (VS 2010) basic_string exports编辑问题http://connect.microsoft.com/VisualStudio/feedback/details/696593/vc-10-vs-2010-basic-string-exports2.LNK2019 error on 3rd party DLLs in VS2010 when porting from VS2008http://social.msdn.microsoft.com/Forums/en-US/ac03e00d-d26a-4d92-9b9f-91ed4b20cfbe/lnk2019 阅读全文
posted @ 2013-09-14 18:01 酒鬼z 阅读(147) 评论(0) 推荐(0)

摘要:今天遇到一个Crash,Crash在第三方库中,由于好奇,就看了一下。发现代码没有,我们只能看到头文件,只有别人的Crash Call Stack,连Dump文件也没有,所以只能手动模拟重现。 发现Crash的目标模块是A.dll它是我们自己的代码,但是Crash的第三方库是通过静态链接到它里面的。也就是说Crash的实际代码是第三 方库写的,没有源码,但是VS竟然能显示出行号!反汇编竟然能显示出文件名,这就奇怪了,它的信息哪里来的?VS不可能自己产生,所以研究了一下。 这里有两种可能 1. 它用第三方提供的库文件的PDB,找了一下,还真有。但VS调试时,能删除这个文件,说明没有在被用。... 阅读全文
posted @ 2013-09-06 14:34 酒鬼z 阅读(1118) 评论(0) 推荐(0)

摘要:1.std::make_pair error in VC11In your case, here are two possible fixes:C:\Temp>type kitty.cpp#include #include #include #include using namespace std;int main() {string ht = "hello";pair ps;#if defined(FIX1)ps = pair(1, ht);#elif defined(FIX2)ps = make_pair(1, ht);#elseps = make_pair(1, 阅读全文
posted @ 2013-09-06 14:33 酒鬼z 阅读(130) 评论(0) 推荐(0)

摘要:转自:http://www.cnblogs.com/zyl910/archive/2012/11/05/vs2012_sdk.html一、问题背景 现在Win8已经发售了,但奇怪的是,没有听到新版Windows SDK的消息。 其次,Win8中集成了DirectX 11.1,而现在也没有新版DirectX SDK的消息。 搜索了一下后发现,原来它们已经集成到VS2012中了。二、文档 在VS2012中点击菜单栏“帮助”->“添加和移除帮助内容”,打开“Microsoft Help View 2.0 - Visual Studio 2012文档”—— 需要等待一会儿,让文档列表下载完毕.. 阅读全文
posted @ 2013-09-04 17:51 酒鬼z 阅读(745) 评论(0) 推荐(0)

摘要:这通常是由于以数据成员方式在DLL导出类中使用了模板类造成的。比如:#include #include using namespace std;class __declspec( dllexport ) Test{public:std::vector m_objCon;};int main(){return 0;}这会导致这个警告:warning C4251: “Test::m_objCon”: class“std::vector”需要有 dll 接口由 class“Test”的客户端使用 1> with1> [1> _Ty=int1> ]这个问题主要要描述的是不同的地 阅读全文
posted @ 2013-09-04 15:34 酒鬼z 阅读(791) 评论(0) 推荐(0)

摘要:VS2010出现FileTracker : error FTK1011不知道是不是vs2010的一个bug,反正有人提交了.FileTracker : error FTK1011编译错误的解决办法有三个,推荐使用第二个方法一:把目标框架改为Framewotk=4.0方法二:新增环境变量TRACKFILEACCESS=false:操作步骤:右击"我的电脑"(或"计算机")-->"高级"-->"环境变量"-->"新建系统变量"-->填写"变量名"为&quo 阅读全文
posted @ 2013-09-04 14:37 酒鬼z 阅读(98) 评论(0) 推荐(0)

摘要:PDB文件:每个开发人员都必须知道的一 什么是PDB文件大部分的开发人员应该都知道PDB文件是用来帮助软件的调试的。但是他究竟是如何工作的呢,我们可能并不熟悉。本文描述了PDB文件的存储和内容。同时还描 述了debugger如何找到binay相应的PDB文件,以及debugger如何找到与binay对应的源代码文件。本文适用于所有的Native和 Managed的开发人员。 在开始前,我们先定义2个术语:private build, 用来表示在开发人员自己机器上生成的build;public build,表示在公用的build机器上生成的build。private build相对来说比较简单, 阅读全文
posted @ 2013-09-04 11:29 酒鬼z 阅读(1140) 评论(0) 推荐(0)

摘要:在运行FBX的sample程序时发现提示:debug information of xxx.exe cannot be found or not match ,于是首先在网上找了下相关资料,得到如下建议:1) Goto Project->HelloWorld Properties2) On the left expand "Configuration Properties"3) Expand "C/C++"4) On the left, Select "General"5) On the right, change " 阅读全文
posted @ 2013-09-04 11:28 酒鬼z 阅读(284) 评论(0) 推荐(0)

摘要:1.lib和dll中全局变量的链接性及用法总结 今天在公司干完活后思考了lib和dll的链接性,然后做了测试,发现和我想象的不大相同,具体总结如下:lib:lib中的全局变量在链接它的单元中是可以通过extern访问到的,但是链接它的单元如果定义了一个相同的全局变量那么lib中的全局变量将被忽略,而且不会出现重复定义的错误。lib中的函数则不相同如果链接它的单元有了相同的函数就会发生重复定义。在lib的cpp中定义一个静态的变量会被所有用到这个lib的模块公用,在链接一个程序的时候会自动的去掉重复链接的lib保证某个lib只有一份代码存在,如果在其他lib中直接包含这个cpp那么这个静态变量将 阅读全文
posted @ 2013-07-17 09:53 酒鬼z 阅读(262) 评论(0) 推荐(0)

摘要:windows系统下,程序防止多开的几种常见方法: 1)使用FindWindow API函数。 通过查找窗口标题(或/和类名)来判断程序是否正在运行。如果找到了,表明程序正在运行,这时可退出程序,达到不重复运行的效果;反之表明程序是第一次运行。 这种方法不适用于以下情况,程序的标题是动态变化的、系统中运行了相同标题(或/和类名)的程序2)Mutex/Event/Semaphore 通过互斥对象/信号量/事件等线程同步对象来确定程序是否已经运行。最常用的函数如:CreateMutexA(注意:QQ堂、QQ游戏大厅就是采用这样方法来限制程序多开的)3)内存映射文件(File Mapping) 通过 阅读全文
posted @ 2013-06-19 13:27 酒鬼z 阅读(278) 评论(0) 推荐(0)

摘要:我们在VS环境中开发的时候,会遇到很多宏定义,这些宏可以应用到代码中,或用于编译、工程选项等设置,总之是我们开发中必不可少的工具,有必要做一个总结。有些宏是C/C++定义的,有些宏是VC环境预定义的。 1、C/C++中的宏 __cplusplus 如果当前编译器为C++,该值为1。 __DATE__ 当前源码的编译日期,格式为Mmm dd yyyy。 __TIME__ 当前源码的编译时间,格式为hh:mm:ss。 __TIMESTAMP__ 当前源码文件最后被修改的日期和时间,格式为Ddd Mmm Date hh:mm:ss yyyy。 __FILE__ 当前源码文件名。 __LINE__.. 阅读全文
posted @ 2013-06-18 18:42 酒鬼z 阅读(190) 评论(0) 推荐(0)