问题标签 [visual-c++]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
17237 浏览

c++ - 在 Visual C++ 可执行文件中输出编译时间戳?

如何将编译时间戳信息插入到使用 Visual C++ 2005 构建的可执行文件中?当我执行程序时,我希望能够输出这样的东西:

此版本 XXXX 在 dd-mm-yy, hh:mm 编译。

其中日期和时间反映了项目的构建时间。它们不应该随着程序的每次连续调用而改变,除非它被重新编译。

0 投票
3 回答
217 浏览

debugging - 在 Visual C++ 2003 中附加到外部可执行文件

我有一个可执行文件(由其他人编译)在我的代码附近遇到一个断言。我在 Visual C++ 2003 中处理代码,但我没有这个特定可执行文件的项目文件(代码用于构建许多不同的工具)。是否可以在 Visual C++ 的调试器中启动二进制文件并告诉它源代码在哪里?我以前在 GDB 中做过这个,所以我知道这应该是可能的。

0 投票
5 回答
4446 浏览

c - 使用结构时出现编译器错误 C2143

我正在使用 Compile as C Code (/TC) 在 Visual c++ 中编译一个简单的 .c,我得到了这个编译器错误

错误 C2143:语法错误:缺少“;” 在“类型”之前

在需要简单结构的行上

使用结构的 typedef 也是如此。

错误 C2275: 'FOO' : 非法将此类型用作表达式

0 投票
14 回答
5693 浏览

c++ - C++中的异常被捕获后找出源头?

我正在寻找 MS VC++ 中的答案。

在调试大型 C++ 应用程序时,不幸的是,它大量使用了 C++ 异常。有时我比我真正想要的晚一点才发现异常。

伪代码示例:

我可以在调试时用断点捕获异常。FunctionA()但是如果异常发生在orFunctionB()或其他函数中,我无法追溯。(假设广泛的异常使用和上述示例的巨大版本)。

我的问题的一种解决方案是确定调用堆栈并将其保存在异常构造函数中(即在它被捕获之前)。但这需要我从这个基异常类派生所有异常。它还需要大量代码,并且可能会减慢我的程序。

有没有更简单的方法需要更少的工作?无需更改我的大型代码库?

其他语言有没有更好的解决这个问题的方法?

0 投票
7 回答
2942 浏览

visual-studio - 任何推荐的 VC++ 设置,以便更好地对发布版本进行 PDB 分析

是否有任何我应该知道的 VC++ 设置来生成包含更多信息的更好的 PDB 文件?

我有一个基于项目crashrpt的故障转储分析系统。

另外,我的生产构建服务器在 D:\ 上安装了源代码,但我的开发机器在 C:\ 上安装了源代码。我在 VC++ 设置中输入了源路径,但是在查看崩溃的调用堆栈时,它不会自动跳转到我的源代码。我相信如果我在 D:\ 上有我的开发机器的源代码,它会起作用。

0 投票
5 回答
323 浏览

visual-c++ - 生产质量的 VC++ 代码中的递归

在编写生产质量的 VC++ 代码时,是否可以使用递归?为什么或者为什么不?

0 投票
5 回答
2724 浏览

exception - 可移植地处理 C++ 中的异常错误

我正在将 Visual C++ 应用程序移植到 GCC(应该建立在 MingW 和 Linux 上)。

现有代码__try { ... } __except(1) { ... }在一些地方使用块,因此几乎没有什么(可能是内存不足类型错误?)会使程序退出而不做一些最小的日志记录。

用 GCC 做类似的事情有哪些选择?

编辑:感谢 Visual Studio 中指向 /EH 选项的指针,我现在需要一些关于如何在 Linux 上处理信号的示例。我从 2002 年发现了这条消息。

除了我应该注意的其他信号SIGFPESIGSEVG?(主要关心那些可能从做错事中提出的问题)

赏金信息:我希望我的应用程序能够在退出之前自行记录尽可能多的错误情况。

我可能会收到哪些信号,哪些信号通常不可能在之后记录错误消息?(内存不足,还有什么?)

我如何以一种可移植的方式处理异常和(最重要的)信号,使代码至少在 Linux 和 MingW 上运行相同。#ifdef 没问题。

我不只是有一个记录失败的包装进程的原因是,出于性能原因,我保存将一些数据写入磁盘直到最后一分钟,所以如果出现问题,我想尽一切可能尝试在之前写出数据退出。

0 投票
8 回答
13820 浏览

c++ - 测量 C++ 中的异常处理开销

在 C++ 中测量异常处理开销/性能的最佳方法是什么?

请提供独立的代码示例。

我的目标是 Microsoft Visual C++ 2008 和 gcc。

我需要从以下情况中获得结果:

  1. 没有 try/catch 块时的开销
  2. 有 try/catch 块但不抛出异常时的开销
  3. 抛出异常时的开销
0 投票
13 回答
9441 浏览

visual-studio - 为什么 Visual Studio 2005 这么慢?

加载除小项目以外的任何内容都很慢。戒烟很慢;有时可能需要几分钟。打开新文件可能会很慢。录制宏功能曾经很有用。现在启动太慢了,手动启动几乎总是更快!


更多信息会有所帮助。你的解决方案有多大?你在什么平台上。您正在运行哪些 3rd 方插件?你的电脑上还有什么正在运行?

3.2GHz P4 超线程,2GB RAM。运行 Outlook、Perforce、IE7、目录浏览器。通常有 1-3 个 VS 实例在运行。比 VC6 慢得多。加载项目并关闭似乎需要很长时间。我对人们是否知道发生这种情况的原因很感兴趣,因为 VS 的编写方式。它是否在内部使用 .net 并且 GC 会减慢它的速度?

0 投票
2 回答
167 浏览

visual-c++ - VS.NET 2005 中的奇怪依赖行为(不必要的 .CPP 编译)

我在 VS.NET 2005 中处理一个大型 Visual C++ (MFC) 项目。

我注意到 Visual C++ 2005 中的奇怪行为。通常,我会更改 .CPP 文件中的一行代码,但许多 .CPP 文件会因此而编译。在 VS.NET 2005 之前我从未见过这种情况。理论上,更改 .CPP 文件中的一行代码应该只需要重新编译该 .CPP 文件并重新链接 PE 文件。

我对构建过程有什么不了解。