VS2008 中的访问冲突,但在 VS2002 中没有

Posted

技术标签:

【中文标题】VS2008 中的访问冲突,但在 VS2002 中没有【英文标题】:Access Violation in VS2008, but not in VS2002 【发布时间】:2012-04-11 14:23:44 【问题描述】:

我在 Visual Studio 2008 中面临“访问冲突错误”,但相同的代码在 VS2002 中运行良好。 我已经验证了项目设置都是相同的。我认为 VS2008 中指针的处理有所不同。我想我错过了一些东西。

有人可以帮忙吗?

下面给出的示例代码。

schemap = (typ_ty_schema *)((dbs_ty_obj *)obj)->f_schema;

执行此行后,值没有分配给模式但是我可以在((dbs_ty_obj *)obj)->f_schema 中看到值

请帮忙。

尼克斯

【问题讨论】:

我们没有足够的信息来帮助您。但是,在使用 C++ 尤其是 STL 容器时,如果混合使用 VS2002 和 2008 编译的二进制文件,则可能会发生此类问题。 【参考方案1】:

我认为这与处理不同的指针没有任何关系。这可能只是您代码中的一个错误,由于某种原因(不同的代码生成、内存分配等)隐藏在 VS2002 生成的代码中。

【讨论】:

以上是关于VS2008 中的访问冲突,但在 VS2002 中没有的主要内容,如果未能解决你的问题,请参考以下文章

VS2008 Update Web Reference在Reference.cs中创建命名冲突

VS2008 中的 C++ 项目有效,但在 VS2010 中无效

VS 2010 中的 C++ 调试访问冲突

C0000005: 读取位置 0xCCCCCCCC 时发生访问冲突

vs2008和vs2012能不能在同一台机器上共存?如果可以,会不会有冲突?如何处理共存的问题?

VS快递跟专业有冲突吗?