为什么main方法没有与其他方法类似

时间:2014-10-24 16:50:14

标签: linker

在下面的程序中,我想知道为什么main不会像其他方法那样被破坏:

int main()
{

}

int main1() 
{

}

如果我检查出nm,我看到主方法没有被修复,而main1是。我尝试使用#pragma entry将程序条目从main更改为main1,但它没有效果。

感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

  

如果我检查了nm,我看到main方法在main1时没有被修改。

main符号在以下几个方面是特殊

  • 你不能拿地址
  • 你不能自己打电话
  • 不得被破坏,因为标准的C运行时库会以未命名的main名称来调用它。

所以它没有被破坏,因为C ++标准要求。另请参阅this answer