visual-c++相关内容
STL标准不需要从std :: string引用。但实际上大多数C ++ 实现提供了引用计数的写时复制字符串,允许您将 string by value作为基本类型传递。这些实现(至少g ++)使用 原子操作使这些字符串无锁和线程安全。 轻松测试显示copy-on-write语义: #include #include using
..
给定一个编译的 lib ,是否有一种方法来判断是否编译了 / md 或 / mt 只需查看它(可能使用 dumpbin 工具)? 修改: dumpbin / directives foo.lib 是 lib 未使用 / GL 开关编译。是否有一个选项来检查以这种方式优化的 lib 文件? 解决方案 Microsoft编译器的一个非常好的功能是它保留用于将源文件编译为.obj文件
..
正在载入BMP档案 AUX_RGBImageRec * LoadBMP(char * Filename)//载入位图图片 { FILE * File = NULL; //文件句柄 if(!Filename)// Make Sure A Filename Was Given { return NULL; // If not Return NULL } File =
..
这段代码对JS开发人员来说不是未知的 function get_counter() { return( function(){ var c = 0; return function(){return ++ c;}; }) } 它基本上创建一个创建不同枚举器。所以我想知道如果同样的事情可以做到在C + + 11与新的lambda语义?我最后写这个C ++,不
..
使用C ++预处理器指令,可以测试预处理器符号是否已定义,但没有值?像这样: #define MYVARIABLE #if!defined(MYVARIABLE)|| #MYVARIABLE ==“” ... blablabla ... #endif EDIT:我这样做的原因是因为我工作的项目应该通过 / DMYSTR = $(MYENVSTR)从环境中获取
..
.map文件的使用当使用/ MAP参数或“生成映射文件”项目设置时,VC ++链接器会产生什么?什么时候需要它们,如何从中获益? 解决方案 有关如何使用地图文件查找崩溃。 http://www.codeproject.com/ KB / debug / mapfile.aspx 手动执行所有这些操作是非常不感兴趣的。 我不知道任何工具,可以读取地图文件和帮助找到崩溃位置。
..
我开始了一个新项目,并决定确保它使用/ Wall选项启用干净的构建。唯一的问题是不是所有的第三方库(如boost)编译没有警告,所以我已经诉诸在一个共享的头文件: #pragma警告(禁用:4619) #pragma警告(禁用:4820) #pragma warning(disable:4625) #pragma warning(disable:4626) #pragma war
..
我曾经在我的代码的某些部分看到 Sleep(0),其中一些无限/长 while 可用。我被告知,它将使时间片可用于其他等待进程。这是真的?对于 Sleep(0)有什么意义吗? 解决方案 MSDN的睡眠文档: 值为零导致线程 放弃其剩余时间 切片到任何其他线程 准备运行。如果没有其他 线程准备运行,函数 立即返回,线程 继续执行。 重要的是要意识到,是的,这给其他线程
..
我想检测我的C ++程序在Windows中的内存泄漏。 我还阅读了MSDN上有关 mermoy的文档泄漏检测 ,我也开始使用Visual Leak Detector。 我对泄漏报告有疑问。 我期望一个带有行号的文件名,但我总是报告下面的文本。 它有泄漏描述的所有组件(块类型,内存地址,数据等) 除了文件名和行号。 如果是真正的泄漏? 如果是,你知道为什么文件/行不报告? 在
..
我有一个c ++应用程序在try块中包装大部分代码。当我捕获异常,我可以返回用户到一个稳定的状态,这是很好的。但我不再收到故障转储。我真的想搞清楚在代码中异常发生在哪里,所以我可以记录它,并解决它。 能够获得转储而不停止应用程序将是理想的,但我不能确定是可能的。 有一些方法,我可以弄清楚在catch块中抛出异常的地方吗?如果它是有用的,我使用本机msvc ++在windows xp和更
..
Visual Studio如何在C ++中显示向量的元素或字符串的字符? 解决方案 http://msdn.microsoft.com/en-us/library/zf0e8s14(v = VS.100).aspx 对于本机代码,您可以将自定义数据类型扩展添加到文件 autoexp.dat,它位于Program Files \ Microsoft Visual Studio 10
..
我想做的是输入一个文件LINE BY LINE和tokenize并输出到一个输出文件。我已经能够做的是输入文件的第一行,但我的问题是,我不能输入下一行tokenize,以便它可以保存为输出文件中的第二行,这是我可以做的输入文件中的第一行。 #include #include // string library #include
..
是否可以获取标准c ++库的源代码? 解决方案 GNU项目是免费和开源软件,并包含C ++标准库的实现。 http:// gcc .gnu.org / libstdc ++ /
..
在VC ++中,我使用EnumWindows(...),GetWindow(...)和GetWindowLong()来获取窗口列表,并检查窗口是否是顶部窗口(没有其他窗口作为所有者)窗口是否可见(WS_VISIBLE)。然而,虽然我的桌面只显示5个窗口,这个EnumWindows给了我50个窗口,多么有趣!任何Windows怪胎在这里请帮我澄清... 解决方案 只列出窗口任务栏-Tab框)
..
char * msg = new char [65546]; 要对所有的用户初始化为0。在C ++中最好的做法是什么? 解决方案 char * msg = new char [65546](); 它被称为值初始化,并在C ++ 03中引入。如果您碰巧在过去十年中陷入困境,那么您需要使用 std :: fill() (或 请注意,这不适用
..
我来自Linux世界,并且知道许多关于用C ++语言编写的动态库API的向后兼容性(BC)的文章。其中一个是“C ++的策略/二进制兼容性问题”,基于 Itanium C ++ ABI ,由GCC编译器使用。但我找不到任何类似的Microsoft C ++编译器(从MSVC)。 我知道大多数技术适用于MS C + +编译器,我会喜欢发现与ABI差异相关的编译器特定问题(v表布局,修改等)。
..
最终目标是比较在完全相同的环境中从完全相同的源构建的2个二进制文件,并且能够告诉它们确实是功能等同的。 一个应用程序会将QA时间集中在发布之间实际发生变化的事情,以及一般的变更监控。 MSVC与PE格式的结合自然使得这很难做。 到目前为止,我发现并中和了这些东西: PE时间戳和校验和 数字签名目录条目 调试器时间戳 PDB签名,年龄和文件路径 资源时间戳 VS_V
..
在C#项目中有文件的复制到输出目录属性。但是在VC ++项目中,它不存在。我知道,我可以在VC ++中使用构建事件,并写一些像 xcopy / y / d%(FullPath)$(OutDir) 有没有办法避免使用CMD和其他脚本方法)?在这种情况下,msbuild可以做些什么来帮助吗? 解决方案 这取决于你使用的Visual Studio版本。 Visual St
..
主题标题实际上是我的问题。第二个问题是:什么时候使用这两个? 解决方案 当没有指定时,C ++是非托管C ++,到机器代码。在非托管C ++中,您必须手动管理内存分配。 托管C ++是由Microsoft发明的一种语言,它编译为由.NET Framework运行的字节码。它使用与C ++(因此名称)相同的语法,但是以与C#或VB.NET相同的方式编译;基本上只有语法改变,例如使用'
..
我使用Microsoft Visual Studio 2011 Professional Beta 我试图运行OpenCV C ++文件( http://opencv.willowgarage.com/wiki/Welcome ),我已经使用cMake& Visual Studio Complier。 但是当我去调试项目时,我得到了600多个错误,大部分是: 错误LNK2026:
..