在 C++ 中,main 是否可以由函数指针定义?例如:
int f(int, char**) {
return 0;
}
int (*main)(int, char**) = &f;
此代码可以正确编译和链接,但在运行时会触发分段错误。我相信这可能是因为它试图将函数指针的值作为代码执行。
此外,如果在纯 C++ 中不可能,那么可以通过 gcc 的非标准功能来实现(可能以某种方式更改导出符号的类型)。
最后,如果使用 gcc 指令无法实现,是否可以使用自定义链接器脚本来完成?