0

我想在我的程序中使用异常。但是我的程序有自定义入口点并且不使用 CRT(C 运行时)。

我的程序很简单:

    MessageBox(NULL, L"会抛出异常", L"ok", MB_ICONEXCLAMATION | MB_OK);
    尝试 {
      投掷 123;
    } 抓住 (...) {
      MessageBox(NULL, L"抛出异常", L"ok", MB_ICONEXCLAMATION | MB_OK);
    }

当我使用标准入口点和 CRT 时,一切正常。但是当我更改程序的 EP 时,它会在调用函数 _CxxThrowException 时因错误“访问冲突”而崩溃。

我制作了崩溃的详细截图:http: //vs712.server4u.cz/exception.png

是什么导致了这个错误?是否有解决方法如何在不使用 CRT 的情况下使用异常?

谢谢。

4

1 回答 1

-4

如果你的程序是用 Visual C++ 编译的。你应该使用 CRT。你不知道编译器做了什么。编译器可以在代码中的任何位置调用任何 CRT 函数。

如果你真的不想使用 CRT。然后,使用另一种编译器或另一种语言,如汇编。

于 2013-07-09T04:30:03.717 回答