问题标签 [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 投票
3 回答
650 浏览

visual-studio-2008 - 如何增加 VC9 (MSVC 2008) 中允许的修饰名称长度?

我有一组相当庞大和复杂的程序可以从 VC8 移植到 VC9。其中一个模块有许多分层的 typedef,这会导致编译器生成 C4503 警告(装饰名称被截断)。生成的 LIB 文件将无法正确链接到项目中的其他模块。VC8 对此没有任何问题,这使我得出结论,要么修饰过程已更改为生成更长的名称,要么已减少修饰名称长度的内部限制。克服这个问题的最好方法是什么?

由于遗留代码的原因,MSDN 建议用结构替换 typedefs 是不切实际的。

有问题的 typedef 是(经过清理的代码):

0 投票
2 回答
1640 浏览

c# - 非托管 vc++ 静态库和 C# GUI 应用程序

基本上我有一堆非托管的 VC++ 静态库。而使用这些的 VC++ GUI 应用程序是基于 MFC 的。目标是用 C# 中完成的 GUI 应用程序替换 GUI 应用程序,但使用所有相同的静态库。问题是这是否可能,如果是,那么实现这一目标的正确方法是什么?

建议,有人吗?谢谢。

0 投票
3 回答
2549 浏览

visual-c++ - 用 gmp 添加浮点数会给出“正确”的结果,有点像

在下面的代码中,我使用mpf_add添加两个浮点值的字符串表示。我现在不明白的是为什么2.2 + 3.2 = 5.39999999999999999999999999999999999999。我会认为这gmp是足够聪明的给予5.4

我不理解 gmp 如何浮动?

(顺便说一句,当我第一次写这篇文章时,我不确定如何插入小数点,因此最后是加/减数字)

0 投票
1 回答
981 浏览

windows - 需要 Excel SheetSelectionChange 事件示例

我正在尝试解决一个问题,涉及将 C++ 程序与 Excel 接口(特别是导入接口)。SheetSelectionChange 听起来它会让我大部分时间到达我需要的地方,但我找不到任何关于注册事件、在触发时使用其 Range 参数以及在完成时取消注册的好的文档或示例。我的代码目前不使用 COM 包装类;它发出 QueryInterface 调用以获取指向 Excel 中接口的指针。

0 投票
6 回答
6996 浏览

c# - 为什么我不能调试我的 asp.net Web 应用程序

当我添加断点并按 F5 以在调试器中运行时(我正在使用我的调试版本),弹出一个对话框,告诉我的 web.config 文件中没有 debug=true (确实如此),我得到 2选择 a) 在没有调试器的情况下运行或 b) 让 Visual Studio 更新我的 web.config 文件。如果我选择 b) web.config 更新很差,什么都不会起作用。如果我选择 a),那么该站点就会出现,我可以对其进行测试,但不能进行调试。

我是一位经验丰富的开发人员,但我以前从未使用 Visual Studio 和 asp.net 进行 Web 开发,所以我对它为阻止我工作而设置的所有墙壁感到非常沮丧。

到目前为止,我还无法使用调试器。有什么完全明显的我想念的吗?如果它发生在你身上,你会检查什么?

0 投票
6 回答
29013 浏览

visual-c++ - Visual C++ 未解析的外部符号(找不到我自己的函数之一)

这是一个非常基本的问题,目前让我感到沮丧。假设在一个解决方案中,我有两个项目。我们将第一个项目称为 SimpleMath。它有一个头文件“Add.h”,其中

以及具有的实现“Add.cpp”

现在假设在第二个项目中我想使用 add 函数。但是,这段代码:

#include "..\SimpleMath\Add.h"

导致“未解析的外部符号”。如何让第二个程序“了解” .cpp 文件中的实际实现。作为旁注,所有代码都是虚构的,这不是我实际编程的方式。

0 投票
8 回答
3589 浏览

c++ - 我是否需要在多线程环境中保护对 STL 容器的读取访问?

我有一个 std::list<> 容器和这些线程:

  • 一个无限期添加元素的作家线程。

  • 一个读取器/写入器线程,在可用时读取和删除元素。

  • 访问容器大小的几个读取器线程(通过使用 size() 方法)

有一个普通的互斥锁可以保护前两个线程对列表的访问。我的问题是,大小读取器线程是否也需要获取此互斥锁?我应该使用读/写互斥锁吗?

我在使用 Visual C++ 6 的 Windows 环境中。

更新:看起来答案还不清楚。总结主要疑问:考虑到我不需要确切的值(即我可以假设一个+/- 1 个变化)?竞争条件如何使我的 size() 调用返回无效值(即与好的值完全无关的值)?

回答: 通常,必须保护读者线程以避免竞争条件。尽管如此,在我看来,上述更新中提到的一些问题还没有得到解答。

提前致谢!

谢谢大家的答案!

0 投票
2 回答
923 浏览

visual-studio - 如何在 Visual Studio 2008 中为源代码管理命令分配键盘快捷键?

我在 Visual Studio 2008 中使用 Visual C++ 2008。我经常使用以下命令将打开的文件与最近签入的版本进行比较:

我也可以通过单击源代码管理工具栏中的图标来执行相同的操作。

我不确定,但我相信这个命令对于任何源代码控制插件都是一样的(我碰巧使用了 Perforce 插件。)

我想分配一个键盘快捷键来执行此命令,但我似乎无法在通常进行此类分配的对话框中的任何位置找到它:

我只是没有在自定义对话框中看到命令吗?是否有另一种方法来分配这样的键盘快捷键?

0 投票
3 回答
2322 浏览

c++ - 在没有运行时的情况下构建 Windows C++ 库?

我正在尝试创建一个用于 windows/MSVC 的 c++ 库。

我的问题是,似乎为了正确链接,我需要分发一堆不同的版本,链接到不同版本的 MSVC 的 c++ 运行时——单线程和多线程、调试和发布、不同的编译器版本、各种其他安全性和其他选项。

我很想分发两个,32 位和 64 位。

我的想法是为我的所有 STL 类型使用不同的 new 运算符(例如 mynew)和自定义分配器。创建库时,/nodefaultlib。然后,当从父项目链接时,要求他们将 mynew 转换为 new,并将我的 stl 分配器转换为标准分配器(或他们选择的一个)。我想我需要做删除和其他一些功能。当然,我会提供一个带有库的示例 thunking 实现,但这有望为每个人省去很多麻烦。

这可能吗?有没有人试过这个?是否有在 windows/MSVC 上创建/分发库的最佳实践?

0 投票
14 回答
2651 浏览

c++ - 从 Visual Studio 6 升级有哪些令人信服的论据?

我有一个客户仍在使用 Visual Studio 6 来构建生产系统。他们编写使用 STL 并在多处理器机器上运行的多线程系统。

有时,当他们更改其中一台服务器机器的规格或增加其负载时,他们会变得“奇怪”,难以重现错误......

我知道 Visual Studio 6 开发存在几个问题,我想说服他们迁移到 Visual Stuio 2005 或 2008(他们拥有 Visual Studio 2005 并将其用于某些项目)。

此问题的目的是汇总已知问题或升级原因的列表,以及讨论或报告这些问题的链接。拥有这些问题如何折磨你的真实“恐怖故事”也会很有用。