企业项目管理、ORK、研发管理与敏捷开发工具平台

网站首页 > 精选文章 正文

函数入口一定是main吗?为什么不指定编译生成文件名, 默认是a.out?

wudianyun 2025-07-01 23:43:56 精选文章 5 ℃

若文章对您有帮助,欢迎关注 程序员小迷 。助您在编程路上越走越好!




函数入口一定是main吗?


不一定,只是一般给程序员的说法是入口是main. 从进程运行的角度,操作系统加载器会调用对应程序开始运行的准备库,最终调用用户层代码main函数作为入口。

  • VC++可设定#pragma comment(linker,"/entry:new_main_entry")指定入口点。
  • C# csc提供 /main:<class_name> 可指定入口类,dotnet提供 /p:StartObject=<class_name> 指定入口类。


为什么不指定编译生成文件名, 默认是a.out?


在*nix系统上,a.out是assembler output的缩写,最早源于PDP-7平台没有链接器,默认编译源代码为汇编格式,即对应前面的"汇编输出". PDP-11才有链接器,编译输出默认名称依然没有改,就形成了历史。








若文章对您有帮助,欢迎关注 程序员小迷 。助您在编程路上越走越好!

微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。

我是 程序员小迷 (致力于C、C++、C#、Android、iOS、Java、Kotlin、Objective-C、Swift、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。

最近发表
标签列表