问题标签 [visual-c++-2008]

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 投票
2 回答
1463 浏览

c++ - VC9 中的字符串流错误?“无法访问私人会员”

我收到此错误:

错误 11 错误 C2248:“std::basic_ios<_Elem,_Traits>::basic_ios”:无法访问在类“std::basic_ios<_Elem,_Traits>”c:\program files\microsoft visual studio 9.0\vc 中声明的私有成员\包括\流517

如果我使用 istringstream,也会发生同样的情况。

编译器:Visual C++ 2008。

0 投票
4 回答
1114 浏览

c++ - 从 Visual C++ 6 迁移到 Visual C++ 2008 express

我正在尝试将我的代码从 VCpp 6 迁移到 VCpp 2008 express,但是当我构建解决方案时,我收到以下错误消息:

有很多这样的错误,有时期待“;”,有时期待“)”。

谢谢,莱安德罗·利马

0 投票
1 回答
854 浏览

c++ - 从 vc6 dll 创建 wstring 时出现错误的指针或链接问题

我在 VC6 上生成了一个 DLL 并使用wstring,我正在尝试在 VC9 项目中使用它。在这个 DLL 中有一个更高级别的类操作wstring,称为UtfString.

我在我的项目中正确导入了所有内容,但是当我打电话时:

即使函数原型在库中,它也不会链接...

另一个问题是,当创建一个新的 UtfString 并调试我的应用程序时,新指针是<Bad Ptr>.

wstring我怀疑 VC6和 VC9之间存在冲突,wstring但我不确定。我想避免修改原始 Dll。

如果有人可以让我更清楚,并向我解释问题的真正原因是什么,那就太好了。

提前感谢您的回答,鲍里斯

0 投票
3 回答
4278 浏览

c++ - 如何在预处理器中检测“使用 MFC”

对于静态 Win32 库,如何检测是否设置了任何“使用 MFC”选项?

IE

0 投票
4 回答
326 浏览

c++ - vc9 和 gcc 之间的不同析构函数行为

以下代码在 GCC 和 vc9 上编译时给出了不同数量的析构函数。AFAIK 在 vc9 上运行时显示 5 个析构函数,我理解。调用 + 重载运算符,并创建两个对象,返回时创建一个临时对象。这使得销毁 3 个对象成为可能。当调用重载 = 运算符时,会创建一个对象,并在返回时再次创建一个临时对象。这总共有五个破坏,不包括在 main 开始时创建的三个对象。

但是当我在 GCC 上编译时,我得到 3。

这让我猜测函数终止并返回时没有创建临时对象?或关于编译器之间不同行为的问题。我只是不知道,一些澄清会很好。

0 投票
7 回答
667 浏览

c++ - 这在警告级别 4 的 VC9 中编译时没有警告。为什么不认为这是编译器缺陷?

我看到一些发布的代码在 SO 上出现超出范围的错误,这让我感到奇怪。我希望编译器为此代码生成警告(至少在最高级别)

但事实并非如此。

EDG 编译器很好地说:

实际上 EDG 说的更多(所有这些都是意料之中的)

但这不是我的问题。

我认为这种失败是在警告 VC9 中的严重遗漏错误,(因为自动变量更是如此!!!!)。谁能给我一个改变主意的严肃理由?

0 投票
3 回答
448 浏览

c++ - 处理器类型的运行时检测 - 原子操作

我正在实现一些速度关键的多线程代码。如果我确定一些基本的写操作是原子的,我可以避免出现一些关键部分。我刚刚阅读了一篇学术论文,其中我看到了以下内容:

“基本类型大小 t、int、float 和指针的写入必须是原子的。一个线程的写入必须以相同的顺序被其他线程看到。IA-32 和 Intel-64 CPU 架构,在大多数现代中使用标准计算机,保证这些假设。”

我想做的是能够在运行时检测处理器是否属于这些操作是原子的类型。- 我希望这也适用于 AMD 处理器。

0 投票
2 回答
507 浏览

c++ - 我可以在 VC9 项目中直接使用用 VC6 构建的 C 风格库吗?

我们使用使用 VC6 编译器构建的内部库(由其他团队开发)。该库主要包含 C 风格的 API。我们计划迁移到 Visual Studio 9 编译器。我应该请求使用 VC9 编译器构建库吗?

一个更通用的问题,使用两个不同版本的 Visual Studio 编译器构建的 DLL 在哪些方面(可能是名称修改、优化等)有所不同?

0 投票
2 回答
1051 浏览

visual-studio-2008 - 如何确定哪些 C/C++ 对象使用最多的内存

我有一个混合模式应用程序(托管和本机),它具有很高的内存占用。我已经发现大部分内存是由本机代码分配的。我不是在谈论内存泄漏,而是在程序启动后很早就发生的高内存消耗,然后相对稳定。

您是否知道有任何工具可以显示哪些 C/C++ 对象使用最多的内存?我已经尝试过 DebugDiag 1.1 和 SoftwareVerify 的内存验证器,但是这两个工具都没有提供足够的信息来识别 C/C++ 对象。

问候

坦率

0 投票
2 回答
472 浏览

visual-c++ - 为什么我的 Visual C++ 2008 x64 构建比 x86 构建慢 5 倍?

我一直在努力改善我的产品的构建时间。我们正在使用持续集成,我们的构建现在需要 2 小时才能运行。

我查看了 NANT 时序,发现很多地方都比应有的速度慢,但其中一个跳出来的是我们的 Visual C++ 项目的 x64 版本。这是与相同代码的 x86 构建相比的时间示例:

发布 Win32:8' 49" 发布 x64:41' 8"

x64 大约慢 5 倍。同样,这是针对完全相同的代码。

有没有其他人经历过 x86 和 x64 之间的这种构建时间差异?有什么缩小差距的建议吗?

注意:我知道可以提高整体构建性能的工具,例如 Xoreax 分布式构建和 TeamCity 并发构建,我也将研究这两者,但我不禁觉得应该有一些方法可以得到x64 无需借助第三方工具即可重新构建。