当前位置:编程学习 > C/C++ >>

试过将main() 和 WinMain()函数放在.h文件中码?

程序入口函数(main或WinMain)放置在.h文件中,你试过吗?
 
先看一个简单程序:
 
 //Main.h
 
#include <iostream>
using namespace std;
 
int GameMain(void);
int main(void)
{
     cout << "Hello-main" << endl;
     GameMain();
     return 0;
}
 
---------------------------------------------------
 
//Main.cpp
 
#include "Main.h"
#include <cstdio>
int GameMain(void)
{
 
    printf("Hello-GameMain");
 
    return 0;
}
 
编译运行后:
 
Hello-main
 
Hello-GameMain
 
         在学习MFC时,开始也没发现有入口函数(MFC的入口函数为_tWinMain)的影子,后来明白是在全局对象theApp被CWinApp构造函数构造的过程中调用了入口函数_tWinMain()。从中发现入口函数是可以通过构造函数隐式调用的。
 
       学了两年的编程语言,我真不知道可以将程序入口函数放置在.h文件中。今天在看A*算法(静态地图最短路径搜索算法原文链接)时,看作者提供的实现代码时未发现WinMain函数的影子,感觉好奇怪,但是整个工程竟然是可正常运行的。最后发现猫腻在LunchWindow.h这个头文件。于是有了此文。
 
        我都一直墨守成规的将main函数放在.cpp文件中,虽然知道.h文件中可以声明变量、函数原型、函数实现、宏定义等等,但是从未怀疑过main函数的实现也能放在.h文件中,并且也能使工程正常的运行。
 
       以前以为自己很懂.h文件的功能,但是今天看来,我错了,错得很远!在此作文告诫自己。
 
 
 
 
 
 
 
 
 
 
补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,