试过将main() 和 WinMain()函数放在.h文件中码?
来源:互联网 发布:淘宝零食店排行 编辑:程序博客网 时间:2024/05/27 20:46
程序入口函数(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文件的功能,但是今天看来,我错了,错得很远!在此作文告诫自己。
- 试过将main() 和 WinMain()函数放在.h文件中码?
- 将任务4的解决用一个项目多个文件的方式实现,其中两个类的声明放在一个.h文件中,每个类的成员函数分别放一个文件,main()函数用一个文件。
- main函数和WinMain 函数
- 将Win32Class.h文件从工程中移除,实现对WinMain等函数的隐藏。
- 学习笔记之C++为什么将函数声明或者类的定义放在.h文件中,而将其实现放在原文件中
- 将main、WinMain封装
- sdcc中断函数与main函数放在不同文件
- 将类定义放在头文件arraymax.h中(第二章第五题)
- 5,将本章的例2.4改写为一个多文件的程序: (1)将类定义放在头文件arraymax.h中; (2)将成员函数定义放在源文件arraymax.cpp中; (3)主函数放在源文件filel.cpp中。
- WinMain和main
- STL之二: 为什么模板函数的声明与实现都放在.h文件中
- 关于main函数是否该放在public类中
- 模板函数的声明和定义都放在.h文件
- 模板函数的声明和定义都放在.h文件[zz]
- 模板函数,模板类的声明和定义都放在.h文件
- C++第六周任务5:解决用一个项目多个文件的方式实现,其中两个类的声明放在一个.h文件中,每个类的成员函数分别放一个文件,main()函数用一个文件。体会这样安排的优点。
- 入口函数 main 和 WinMain 的返回值
- main WinMain入口函数比较
- oracle impdp的table_exists_action详解
- JFreeChat_01
- android -- 蓝牙 bluetooth (三)搜索蓝牙
- 看美女没个够,让音乐high翻天---基于S3C6410的音乐相册
- spice-html5部署
- 试过将main() 和 WinMain()函数放在.h文件中码?
- eclipse git 插件集成与本地使用(傻瓜教程 一)
- GridView自定義分頁---派生類(3)
- 通过Iterator来遍历集合的元素(一)
- Linux CDROM驱动分析 - linux CDROM驱动标准
- html中input上传多个文件
- svn 文件状态标记含义
- android -- 蓝牙 bluetooth (四)OPP文件传输
- HDU1754:I Hate It(线段树单点更新)