【发布时间】:2014-12-20 13:36:26
【问题描述】:
在下面的程序中,我想知道为什么 main 没有像其他方法一样被破坏:
int main()
{
}
int main1()
{
}
如果我检查了 nm,我发现 main 方法没有被破坏,而 main1 是。我尝试使用#pragma entry将程序条目从main更改为main1,但没有效果。
感谢您对此的帮助。
【问题讨论】:
-
向后兼容?我猜链接器会搜索未损坏的
main。 -
那为什么用#pragma entry改变程序的入口点对它没有影响呢?
-
根据建议,我进一步阅读了#pragma 行为。似乎 pragma 支持取决于编译器,我发现 g++ 支持的 -Wunknown-pragmas 标志以查看 g++ 编译器是否理解 pragma。似乎编译器不支持 #pragma entry 或 #pragma comment(linker...) ,因此 main() 方法没有被破坏,而 main1() 尽管将入口点更改为 main1()。
标签: linker