作为一名低级程序员,我经常使用可执行文件的模块启动代码,因此我非常了解“crt0”之类的代码是如何工作的。在编写 C++ 代码时,我通常会声明main与extern "C"C 启动代码要调用的内容相匹配main。因此,我通常将此声明用于main(wmain如果专门针对 Windows):
extern "C" int main(int argv, const char *const *argv)
extern "C" int __cdecl wmain(int argv, const wchar_t *const *argv)
extern "C"在上使用是否合法main?此外,const char *const *对于 argv 的类型是否合法,而不是char *[]?