您的位置:首页 > 大数据 > 人工智能

为什么C程序一定要从main开始执行???

2008-02-23 12:03 417 查看
main只是开发工具所规定的一个特殊函数名称而已。它既不是程序的入口,也不是必须要有的函数。

程序的入口点记录在可执行文件中的一个数据,该数据标明程序从哪个位置开始执行,这个数据是连接程序的时候由link.exe确定的,可以把程序的入口点 指定为任意函数,甚至可以自己编辑可执行文件修改程序的入口点。在默认情况下,link.exe会连接开发工具中带有的一个obj文件,并设置该obj中 的固定函数为程序的入口点,这个函数执行后会做一些初始化的事情,然后调用main函数。在执行连接的时候,如果不连接这个obj,程序中就可以没有 main函数。

//改变主程序的入口

#include <windows.h>
#pragma comment(linker,"/Entry:f__k")

void f__k()
{
MessageBox(NULL,"F**k","*uc*",MB_ICONINFORMATION);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐