【问题标题】:MSVC++ 6.0: C1509 “Too many exception handler states in function” [duplicate]MSVC++ 6.0:C1509“函数中的异常处理程序状态过多”[重复]
【发布时间】:2011-11-09 20:39:29
【问题描述】:

可能重复:
MSVC++ 6.0: Fatal error C1509 “Too many exception handler states in function”

在 Visual c++ 6.0 编译器中编译我的 cpp 代码时,我收到以下错误..

MSVC++ 6.0:致命错误 C1509“异常处理程序状态过多 功能”

我为此找到了两种解决方案:

  1. “将函数分解为两个或更多包含更少行的函数。” 这在我的情况下是不可行的。太多的代码依赖它。
  2. 我找到了解决此问题的修补程序,但它适用于 2003 版及更高版本。

如果您能为此提及其他方法,我会很高兴。如果有 VC++ 6 版本的补丁,也请提供链接。 谢谢。

PS: (我知道以前有人问过这个问题,但我在那里找不到适合我的情况的解决方案。如果我在那个线程中提问,我可能不会得到答复,因为这些线程已经过时了。所以我在一个新线程中提问。谢谢)

【问题讨论】:

  • 我想升级到本世纪的编译器之一不是一种选择?
  • 这应该进入“姑息治疗”部分——MSVC6 臭名昭著的漏洞和无法运行,以至于人们可能想知道花时间和精力让任何给定的代码库工作有什么意义它...你的雇主不能支付额外的 60 美元升级到 MSVC8 左右吗?
  • @KerrekSB:公平地说,这将是 60 美元,加上用现代编译器可以接受的语言重写代码所需的时间。当然,从长远来看,这仍然可能比使用 MSVC6 更便宜。
  • @MikeSeymour:确实……正如 Stepanov 所说,“代码是一种负担。你写的代码越多,你遇到的问题就越多。”我认为 OP 很好地展示了这个想法。
  • @MikeSeymour:你可以对“本世纪的编译器之一”做出刻薄的 cmets,但我只是在 Visual Studio 2010 中遇到了这个问题。

标签: c++ visual-c++


【解决方案1】:

你能控制这个巨大的功能吗?如果您这样做,则将该功能拆分为两个或多个子功能。函数的调用者不会看到任何区别。

【讨论】:

    猜你喜欢
    • 2010-11-06
    • 2020-10-10
    • 2013-01-11
    • 2011-09-14
    • 1970-01-01
    • 2020-02-10
    • 2013-10-30
    • 2010-12-01
    相关资源
    最近更新 更多