c++ - 阻止我的项目调用__CxxFrameHandler3(CRT函数)

标签 c++ visual-studio msvcrt

从现在开始的几天里,我一直致力于一个非 Visual C++ 运行时库项目,但是,直到我的链接器开始提示 的未解析外部符号之前,我的进展很顺利。 __CxxFrameHandler3 CRT 函数,因此在搜索产生此错误的原因后,我发现从主入口点调用任何自定义类的方法都是调用此 CRT 函数,简单的示例:

// /No Common Language RunTime Support
// /Ignore All Default Libraries 

class A
{
public:
    A();
    ~A();

    int do_something();
private:

};

int A::do_something()
{
    return 0;
}

int EntryPoint()
{
    A a;
    a.do_something(); // Calls the __CxxFrameHandler3 CRT function.

    return 0;
}

错误:

 LNK2019    unresolved external symbol ___CxxFrameHandler3 referenced in function __unwindfunclet$?UmbraServerMain@@YGHPAUHINSTANCE__@@0PA_WH@Z$0   

有办法阻止调用此 CRT 函数吗?

最佳答案

重新发布我的评论作为答案:

该函数与 SEH(结构化异常处理)有关,因此要停止调用它,需要在项目中禁用异常(SEH 和 C++ 异常)。

关于c++ - 阻止我的项目调用__CxxFrameHandler3(CRT函数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51640568/

相关文章:

c# - 如何解决 .NET Core 包版本冲突

c# - 构建环境 CodeAnalysis 任务无法实例化

c++ - 如何在scanf中使用char双指针?

python - 如何使用 python(不是按键)检测按键释放?

c++ - 具有前向声明的枚举类基础类型

c++ - 如何在 MPI 中创建新类型

c++ - 将固定长度的字符数组分配给字符串

c++ - 如何在 log4cplus 中添加自定义过滤器?

c++ - std::vector 构造函数行为

c++ - 使用 _set_se_translator 和编译标志