int __cdecl __scrt_common_main_seh(void)
时间: 2024-06-02 21:13:00 浏览: 379
`int __cdecl __scrt_common_main_seh(void)` 是 Microsoft Visual Studio 2015 (及更高版本) 中用于启动应用程序的入口点之一。它会在应用程序启动时被调用,然后调用用户定义的 main 函数。
具体来说,`__scrt_common_main_seh` 函数会执行以下操作:
1. 初始化 CRT(C 运行时)库。
2. 解析命令行参数并设置环境变量。
3. 初始化全局变量和静态变量。
4. 调用用户定义的 main 函数,并将其返回值返回给操作系统。
5. 清理 CRT 库和其他资源。
在使用 Visual Studio 2015 (及更高版本) 编写 C/C++ 应用程序时,可以忽略 `__scrt_common_main_seh` 函数,因为它是由编译器和 CRT 库自动生成的。需要注意的是,如果用户定义的 main 函数中有异常,则该函数会捕获并处理异常。
相关问题
无法解析的外部符号_main"int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 中引用了该符号
这个错误通常是由于缺少main函数引起的。在C/C++程序中,main函数是程序的入口点,如果没有定义或者找不到main函数,编译器就会报错。错误信息中的"_main"是指main函数的符号,而"int __cdecl invoke_main(void)"是编译器生成的调用main函数的代码。
要解决这个问题,你需要确保你的程序中有一个正确定义的main函数。在C++中,main函数的定义通常是这样的:
int main() {
// 程序逻辑
return 0;
}
如果你已经有了main函数,那么可能是因为编译器没有正确找到它。你可以检查以下几个方面:
1. 确保文件名以.cpp或者.c为扩展名,以便编译器将其识别为C/C++源文件。
2. 确保main函数的定义在程序的顶层,即不在任何其他函数内部。
3. 检查编译器的设置,确保它正确地指定了源文件和输出文件的路径。
如果以上步骤都没有解决问题,那么可能是编译器或者IDE的配置有问题。你可以尝试重新安装编译器或者使用其他IDE来编译你的程序。
LNK2019 无法解析的外部符号 _main,函数 “int __cdecl invoke_main(void)“
这个错误通常是由于缺少main函数引起的。在C / C ++程序中,main函数是程序的入口点,如果缺少该函数,则链接器无法找到程序的入口点,从而出现此错误。
要解决此问题,请确保您的程序中有一个main函数,并且它的签名正确。在C ++中,正确的main函数签名应为:
int main(int argc, char* argv[])
在C中,正确的main函数签名应为:
int main()
如果您已经有一个正确签名的main函数但仍然出现此错误,请检查您是否正确地包含了所有必需的头文件和库文件,并且是否正确地链接了所有源文件。
阅读全文