211得票28回答
致命错误 LNK1112:模块机器类型“x64”与目标机器类型“X86”冲突。

我正在使用CUDA(VC++,Visual Studio 2008sp1)调试一个FEM程序。该程序只能在Win32平台上运行,因为cuda的不足。我认为链接的库文件都是在x86平台上编译的,但是当我编译时,出现了以下错误信息: 致命错误 LNK1112:模块计算机类型“x64”与目标计算机...

31得票3回答
警告 C4800:'int':强制将值转换为布尔值'true'或'false'(性能警告)

我在我的代码中遇到了这个问题:bool CBase::isNumber() { return (id & MID_NUMBER); } bool CBase::isVar() { return (id & MID_VARIABLE); } bool CBase::isSym...

16得票3回答
在C++中使用枚举作为模板类型参数

在C++中,使用枚举作为模板(类型)参数是否有任何限制/问题? 示例: enum MyEnum { A, B, C, D, E }; template <typename _t> class MyTemplate { public: _t value; ...

13得票3回答
如何在预处理器中检测“使用MFC”

对于一个静态Win32库,我怎样才能检测出任何一个 "Use MFC" 选项是否已设置? 例如:#ifdef ---BuildingForMFC--- .... #else ... #endif

13得票1回答
如何递归取消引用指针(C++03)?

我正在尝试在C++中递归解引用指针。 如果传递的对象不是指针(包括智能指针),我只想返回对象本身,如果可能的话,通过引用返回。 我有这段代码: template<typename T> static T &dereference(T &v) { return ...

13得票2回答
如何使VC++的调试器在异常发生时中断?

我正在尝试调试一个用C语言编写的DLL中出现的访问冲突问题。我正在使用Visual C++ 2008,但是代码是纯C。 我习惯了Delphi,在其中如果在调试器下运行时发生异常,程序会立即停止并进入调试器让你有机会检查程序状态。然而,在Visual C++ 中,我只能在输出选项卡中看到一条消...

13得票2回答
使用宏_BIND_TO_CURRENT_VCLIBS_VERSION会有任何副作用吗?

我们正在将一个VC++项目从Visual Studio 2003迁移到Visual Studio 2008 SP1(9.0.30729.4148)。相关的外部依赖库也是用Visual Studio 2008 SP1编译的。MainApp - Main application Compiled ...

12得票2回答
为什么VC++允许在STL容器中使用const类型?

STL容器要求存储的值是可复制构造和可赋值的。对于任何T类型,const T显然都不是可赋值类型,但我尝试使用它(只是出于好奇),发现它可以编译并且行为像可赋值类型。 vector<const int> v(1); v[0] = 17; 这段代码在 Visual Studio...

10得票2回答
如何调试或修复涉及boost::interprocess managed_shared_memory的无限循环和堆栈破坏问题?

我收到了一个“第一次机会异常”信息,它来自于我编写的一个DLL,这个DLL正在运行在一个非我所编写的可执行文件中。也就是说,这个DLL是一个插件。当这个异常第一次触发时,尝试打开一个共享内存映射文件失败了。如果我忽略第一次机会异常并继续运行,应用程序最终会冻结或崩溃。First-chance ...

8得票6回答
VS2008:我能否在不同文件夹中使用相同名称的2个CPP文件构建项目?

这是我的文件夹结构: / | -- program.cpp -- utility.h -- utility.cpp | -- module/ | -- utility.h -- utility.cpp // Note that I have two fi...