vc2008一个最简单的控制台程序,入口函数是 _tmain(),如何找到main()呢?

zsdl00 2010-09-01 11:15:15
vc2008一个最简单的控制台程序,入口函数是 _tmain(),如何找到main()呢?
-----------------------------------------------------------------------
我在网上查了些资料,说 _tmain 是一个宏,实际上还是 main(),因为main()才是c++标准,可是查了一下这个 _tmain 宏,对应的是:
#define _tmain wmain

是wmain,不是main呀,可是真正的入口函数应该是 main
我如何找到 main 呢?
即如何从 wmain 再找到对应的 main

谢谢。
...全文
228 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zsdl00 2010-09-01
  • 打赏
  • 举报
回复
我找到了,为何是灰色的字呀。
灰色表示什么?

/* Program */

#define _tmain main
#define _tWinMain WinMain
#ifdef _POSIX_
#define _tenviron environ
#else
#define _tenviron _environ
#endif
#define __targv __argv
zsdl00 2010-09-01
  • 打赏
  • 举报
回复
以下是一段代码,
#ifdef _UNICODE 后面的代码,都是正常颜色,按理说 _UNICODE应该是已经定义了呀,
我是我右键,转到定义,确提示 _UNICODE 没有定义。
这是为什么呢?按理说,如果没有定义,后面应该显示成灰色呀。可是并不是灰色的,不是灰色就应该被编译,是吧?

问题是,_UNICODE 确实没有定义呀!!!


/* For backwards compatibility */
#define _WConst_return _CONST_RETURN

#ifdef _UNICODE

#ifdef __cplusplus
} /* ... extern "C" */
#endif

/* ++++++++++++++++++++ UNICODE ++++++++++++++++++++ */

#include <wchar.h>

#ifdef __cplusplus
extern "C" {
#endif

#ifndef _WCTYPE_T_DEFINED
typedef unsigned short wint_t;
typedef unsigned short wctype_t;
#define _WCTYPE_T_DEFINED
#endif
dongfangbuba 2010-09-01
  • 打赏
  • 举报
回复
1。 main是C程序的函数,_tmain是main为了支持unicode所使用的main的别名
2。 _tmain的定义在可以找到,如#define _tmain main,所以要加#i nclude 才能用。
_tmain()是个宏,如果是UNICODE则他是wmain()否则他是main()

3。因此_tmain compile后仍为main,所以都可以执行
main()是WINDOWS的控制台程序(32BIT)或DOS程序(16BIT), ?
WinMain()是WINDOWS的GUI程序,
wmain()是UNICODE


楼住拜渡一下嘛 给分哦
dongfangbuba 2010-09-01
  • 打赏
  • 举报
回复
其实 楼住把它当成main 就用了,我不知道可不可以简单的理解为替代关系,我就是这么认为的,也是新手,共同学习哈

7,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧