visual-c++相关内容
我希望 A::~A() 在这个程序中被调用,但它不是: #include 结构 A {~A() { std::cout
..
我有一个调用 SQLite 的 C++ 应用程序(SQLite 在 C 中)sqlite3_exec() 反过来可以调用我用 C++ 实现的回调函数.SQLite 被编译成静态库. 如果异常逃脱了我的回调,它是否会通过 SQLite 的 C 代码安全地传播到调用 sqlite3_exec() 的 C++ 代码? 解决方案 我猜这是编译器依赖的.但是,在回调中抛出异常将是一个非常糟糕的
..
我们有一些带有 pre-ANSI(K&R 风格)函数声明的旧 C 代码.例如: int foo(x, y)双 x, y;{/* 做一些事情 */} 是否有编译器开关来在 Visual C++ 2008 中启用对此的支持? 解决方案 为了编译这个代码,将代码放在 .c 文件中,而不是 .cpp 文件中.这指示 Visual Studio 将代码编译为 C 而不是 C++
..
我们正在考虑从 Visual Studio 2005 升级到 Visual Studio 2008.我发现了以下令人不安的评论: http://msdn.microsoft.com/en-us/library/6sehtctf.aspx “从 Visual C++ 2008 开始,Visual C++ 不支持面向 Windows 95、Windows 98、Windows ME 或 W
..
我为长篇文章提前道歉... 当我们在 VS 菜单 > 工具 > 选项 > VC++ 目录 > 包含和库文件的目录下列出 STLPort 包含和库目录时,我曾经能够构建我们的 VC++ 解决方案(我们在 VS 2008 上).但是,我们希望过渡到完全依赖 .vcproj 和 .sln 文件的构建过程.与必须在每台开发 PC 上单独配置的 VS 选项不同,这些可以签入源代码管理.我们通过将包含目
..
为什么这个代码 #include #include #include int main(){std::vectorv;v.push_back(1);v.push_back(2);v.push_back(3);v.reserve(v.size() * 2);//预留足够的空间以保持迭代器有效std::copy(v.begin(), v.end(), std::back_inserter(v));返
..
只是想知道是否有可以与 nmake 一起使用的 Visual Studio 附带的“makedepends"等效项.有人知道吗? 解决方案 您可以使用 /showIncludes 切换到 cl.exe 以列出源文件 #included 的标题.嵌套包含由带空格的缩进表示.您还可以使用 /Zs 开关打开语法检查模式,以提高速度并避免创建 .obj 文件. 如果您有 Perl 和 uni
..
上一个问题 展示了一种打印到字符串的好方法.答案涉及 va_copy: std::string 格式 (const char *fmt, ...);{va_list ap;va_start (ap, fmt);std::string buf = vformat (fmt, ap);va_end (ap);返回缓冲区;}std::string vformat (const char *fmt, v
..
我有一个大型 C++ 项目,源文件组织在多个文件夹中(在文件系统上). 在其中两个文件夹中,我有同名的文件.例如 \MyProject\foo\Blurp.cpp\MyProject\foo\File.cpp\MyProject\bar\File.cpp\MyProject\bar\Knoll.cpp 该项目是跨平台的,我在 linux 和 OSX 上使用 autoconf,但必须在 W
..
我有许多解决方案,其中包含大量项目.我希望能够为所有项目使用的解决方案定义全局设置.例如包含目录.我希望能够在一个地方为解决方案中的所有项目更改包含目录. 当我搜索解决方案时,我发现了一个很好的问题描述: 与我的完全匹配 但那里建议的解决方案,项目属性表,是按项目而不是按解决方案定义的. 我可以使用环境变量或 Visual Studio 设置,但是每个需要编译代码的人都必须定义完全相同
..
我使用过几个 Visual C++ 编译器(VC97、VC2005、VC2008),但我还没有真正找到将外部库添加到我的构建中的明确方法.我来自 Java 背景,Java 库就是一切! 我从在我的 Linux 机器上编译开源项目了解到,该库的所有源代码似乎都需要包含在内,但那些 .so 文件除外. 我也听说过 .lib 静态库和 .dll 动态库,但我仍然不完全确定如何将它们添加到构建
..
在我们的构建过程中,对于每个项目,我们使用构建后事件将我们的可执行文件复制到单独的部署目录中.这很有效,但问题是我们在执行清理解决方案/清理项目后遇到了陈旧文件的问题.我想设置一个“清理"事件来删除复制的文件,而 Visual Studio 2008 似乎没有在项目属性页面中提供选项. 它有: 构建事件:预构建事件预链接事件构建后事件自定义构建步骤一般的 我想找到的是在清理项目时执行任意
..
我试图通过使用 FILE_FLAG_OVERLAPPED 标志打开 CONIN$ 来使用重叠 IO 从控制台读取输入.但是,ReadFile 在我使用时会阻塞,即使使用 OVERLAPPED 参数也是如此. 我读过一些帖子报告说这是一个 Windows 7 错误.我正在使用 7,所以这是可能的. 这是我正在使用的代码: //创建一个控制台窗口AllocConsole();Attach
..
我有一个包含 1000 个字符串的数组要加载到组合框中.将字符串数组加载到组合框中的最快方法是什么? 除了遍历字符串列表,将每个字符串一次一个地放入组合框之外,还有其他方法吗? 以及如何将加载后的组合框数据复制到其他 10 个组合框? 解决方案 如果您在 10 个组合框中重复了 1,000 个字符串,您可能需要考虑使用所有者绘制的组合框,它根据索引动态地将字符串绘制到您的数组,
..
请不要与标题混淆,因为它已经有人问过了,但用于不同的上下文 Visual C++ Compiler (VS2008) 中的以下代码未编译,而是抛出此异常: std::ifstream input (fileName);而(输入){字符串 s;输入 >>s;std::cout
..
我正在尝试使用 msvs 2010 构建在以下 git 中找到的项目: https://github.com/Joonhwan/exprtk 问题是当我注释掉 exprtk.hpp 文件中的第 48 行 '#define exprtk_lean_and_mean' 时,我收到以下编译器错误: 错误 1 错误 C1128:节数超出目标文件格式限制:使用/bigobj 编译 谷歌搜
..
我的代码运行良好,直到几个小时后我重新加载了程序.现在我收到这些错误: 错误 C3867:'player::getxPos':函数调用缺少参数列表;使用 '&player::getxPos' 创建一个指向成员的指针 错误 C3867:'player::getyPos':函数调用缺少参数列表;使用 '&player::getyPos' 创建指向成员的指针 这是有问题的代码: if
..
我正在尝试使用 VC 11 从其源代码构建一个程序,当编译器将要完成时,它会在标题中引发错误.正如我在此处和其他论坛上读到的那样,我一直在尝试关闭尽可能多的程序并扩大 Windows 中交换文件的大小……它们不起作用. 我读过一个名为 \Zm 的参数,但我不明白如何使用它. 你能帮我吗? 解决方案 看看 本文档提供了可能的解决方案: 我也遇到了这个问题,发现文档很有用.要
..
使用 VS2013 Pro 时,我无法在调试 MFC 程序时使用“编辑并继续".我创建了一个新的 MFC 项目进行测试. 操作系统是 Windows 7 64 位,我运行的是 Visual Studio 2013 12.0.30110.00 Update1. 在 Tools->Options->Debugging->Edit and Continue 下,我勾选了 Enable Edi
..
我正在尝试为 Visual Studio 2013(专业)C++ 项目制作一些简单的项目模板,但 Visual Studio 似乎在与我作斗争.我开始使用 File ->导出模板... 向导,它完成并生成了一个 zip 文件,但遗憾的是,新模板在 Add New Item 对话框中无处可见,所以我开始手动编辑它看看我能不能解决它. 这是我的测试 .vstemplate 文件:
..