visual-c++相关内容

如何判断一个lib是用/ mt还是/ md编译的?

给定一个编译的 lib ,是否有一种方法来判断是否编译了 / md 或 / mt 只需查看它(可能使用 dumpbin 工具)? 修改: dumpbin / directives foo.lib 是 lib 未使用 / GL 开关编译。是否有一个选项来检查以这种方式优化的 lib 文件? 解决方案 Microsoft编译器的一个非常好的功能是它保留用于将源文件编译为.obj文件 ..
发布时间:2016-10-14 12:52:01 C/C++开发

C ++ 11 lambda返回lambda

这段代码对JS开发人员来说不是未知的 function get_counter() { return( function(){ var c = 0; return function(){return ++ c;}; }) } 它基本上创建一个创建不同枚举器。所以我想知道如果同样的事情可以做到在C + + 11与新的lambda语义?我最后写这个C ++,不 ..
发布时间:2016-10-14 12:31:58 C/C++开发

链接器生成的.map文件的用途是什么?

.map文件的使用当使用/ MAP参数或“生成映射文件”项目设置时,VC ++链接器会产生什么?什么时候需要它们,如何从中获益? 解决方案 有关如何使用地图文件查找崩溃。 http://www.codeproject.com/ KB / debug / mapfile.aspx 手动执行所有这些操作是非常不感兴趣的。 我不知道任何工具,可以读取地图文件和帮助找到崩溃位置。 ..
发布时间:2016-10-14 12:29:48 C/C++开发

有没有办法使用pragma禁用所有警告?

我开始了一个新项目,并决定确保它使用/ Wall选项启用干净的构建。唯一的问题是不是所有的第三方库(如boost)编译没有警告,所以我已经诉诸在一个共享的头文件: #pragma警告(禁用:4619) #pragma警告(禁用:4820) #pragma warning(disable:4625) #pragma warning(disable:4626) #pragma war ..
发布时间:2016-10-14 12:23:26 C/C++开发

睡眠的意义(0)

我曾经在我的代码的某些部分看到 Sleep(0),其中一些无限/长 while 可用。我被告知,它将使时间片可用于其他等待进程。这是真的?对于 Sleep(0)有什么意义吗? 解决方案 MSDN的睡眠文档: 值为零导致线程 放弃其剩余时间 切片到任何其他线程 准备运行。如果没有其他 线程准备运行,函数 立即返回,线程 继续执行。 重要的是要意识到,是的,这给其他线程 ..
发布时间:2016-10-14 12:22:46 C/C++开发

使用/不使用视觉检漏仪的C ++中的内存泄漏检测

我想检测我的C ++程序在Windows中的内存泄漏。 我还阅读了MSDN上有关 mermoy的文档泄漏检测 ,我也开始使用Visual Leak Detector。 我对泄漏报告有疑问。 我期望一个带有行号的文件名,但我总是报告下面的文本。 它有泄漏描述的所有组件(块类型,内存地址,数据等) 除了文件名和行号。 如果是真正的泄漏? 如果是,你知道为什么文件/行不报告? 在 ..
发布时间:2016-10-14 12:20:09 C/C++开发

获取有关在catch块中抛出c ++异常的信息?

我有一个c ++应用程序在try块中包装大部分代码。当我捕获异常,我可以返回用户到一个稳定的状态,这是很好的。但我不再收到故障转储。我真的想搞清楚在代码中异常发生在哪里,所以我可以记录它,并解决它。 能够获得转储而不停止应用程序将是理想的,但我不能确定是可能的。 有一些方法,我可以弄清楚在catch块中抛出异常的地方吗?如果它是有用的,我使用本机msvc ++在windows xp和更 ..
发布时间:2016-10-14 12:19:42 C/C++开发

从输入文件逐行输入,并使用strtok()和输出到输出文件中进行tokenize

我想做的是输入一个文件LINE BY LINE和tokenize并输出到一个输出文件。我已经能够做的是输入文件的第一行,但我的问题是,我不能输入下一行tokenize,以便它可以保存为输出文件中的第二行,这是我可以做的输入文件中的第一行。 #include #include // string library #include ..
发布时间:2016-10-14 12:17:33 C/C++开发

为什么EnumWindows返回比我预期的更多的窗口?

在VC ++中,我使用EnumWindows(...),GetWindow(...)和GetWindowLong()来获取窗口列表,并检查窗口是否是顶部窗口(没有其他窗口作为所有者)窗口是否可见(WS_VISIBLE)。然而,虽然我的桌面只显示5个窗口,这个EnumWindows给了我50个窗口,多么有趣!任何Windows怪胎在这里请帮我澄清... 解决方案 只列出窗口任务栏-Tab框) ..
发布时间:2016-10-14 12:17:17 C/C++开发

如何初始化一个char数组?

char * msg = new char [65546]; 要对所有的用户初始化为0。在C ++中最好的做法是什么? 解决方案 char * msg = new char [65546](); 它被称为值初始化,并在C ++ 03中引入。如果您碰巧在过去十年中陷入困境,那么您需要使用 std :: fill() (或 请注意,这不适用 ..
发布时间:2016-10-14 12:12:58 C/C++开发

GCC与MS C ++编译器保持API向后兼容二进制

我来自Linux世界,并且知道许多关于用C ++语言编写的动态库API的向后兼容性(BC)的文章。其中一个是“C ++的策略/二进制兼容性问题”,基于 Itanium C ++ ABI ,由GCC编译器使用。但我找不到任何类似的Microsoft C ++编译器(从MSVC)。 我知道大多数技术适用于MS C + +编译器,我会喜欢发现与ABI差异相关的编译器特定问题(v表布局,修改等)。 ..
发布时间:2016-10-14 12:04:19 C/C++开发

Windows下的确定性构建

最终目标是比较在完全相同的环境中从完全相同的源构建的2个二进制文件,并且能够告诉它们确实是功能等同的。 一个应用程序会将QA时间集中在发布之间实际发生变化的事情,以及一般的变更监控。 MSVC与PE格式的结合自然使得这很难做。 到目前为止,我发现并中和了这些东西: PE时间戳和校验和 数字签名目录条目 调试器时间戳 PDB签名,年龄和文件路径 资源时间戳 VS_V ..
发布时间:2016-10-14 11:59:19 C/C++开发

自动复制文件在应用程序构建期间输出

在C#项目中有文件的复制到输出目录属性。但是在VC ++项目中,它不存在。我知道,我可以在VC ++中使用构建事件,并写一些像 xcopy / y / d%(FullPath)$(OutDir) 有没有办法避免使用CMD和其他脚本方法)?在这种情况下,msbuild可以做些什么来帮助吗? 解决方案 这取决于你使用的Visual Studio版本。 Visual St ..
发布时间:2016-10-14 11:58:49 C/C++开发

托管c ++和c ++之间的区别

主题标题实际上是我的问题。第二个问题是:什么时候使用这两个? 解决方案 当没有指定时,C ++是非托管C ++,到机器代码。在非托管C ++中,您必须手动管理内存分配。 托管C ++是由Microsoft发明的一种语言,它编译为由.NET Framework运行的字节码。它使用与C ++(因此名称)相同的语法,但是以与C#或VB.NET相同的方式编译;基本上只有语法改变,例如使用' ..
发布时间:2016-10-14 11:58:03 C/C++开发

模块不安全的SAFESEH映像C ++

我使用Microsoft Visual Studio 2011 Professional Beta 我试图运行OpenCV C ++文件( http://opencv.willowgarage.com/wiki/Welcome ),我已经使用cMake& Visual Studio Complier。 但是当我去调试项目时,我得到了600多个错误,大部分是: 错误LNK2026: ..
发布时间:2016-10-14 11:57:41 C/C++开发