免费注册 查看新帖 |

Chinaunix

广告
  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2864 | 回复: 11
打印 上一主题 下一主题

菜菜问题:每个程序必须有一个main()么? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-10 16:42 |只看该作者 |倒序浏览
能不能在编译的时候告诉编译器, 哪个函数是入口?

论坛徽章:
0
2 [报告]
发表于 2009-07-10 16:47 |只看该作者
据说IBM的XLC可以,可以确定的是VC可以,t_main,WinMain,熟悉么?

论坛徽章:
0
3 [报告]
发表于 2009-07-10 16:50 |只看该作者
把入口函数改为niam()也可以的

论坛徽章:
0
4 [报告]
发表于 2009-07-10 16:54 |只看该作者

回复 #1 chouyatingde 的帖子

还是要看具体的编译器

论坛徽章:
0
5 [报告]
发表于 2009-07-10 16:58 |只看该作者
可以通过汇编代码指定,比如FreeBSD的main函数,没有任何意义,就是一个label,据说icc也可以编译FreeBSD内核,所以,这个“技巧”是“compiler inependence”的

论坛徽章:
0
6 [报告]
发表于 2009-07-10 16:59 |只看该作者
梁肇新的《编程高手箴言》,去看看吧,踏踏实实学习学习吧。

论坛徽章:
0
7 [报告]
发表于 2009-07-10 17:09 |只看该作者
原帖由 prolj 于 2009-7-10 16:47 发表
据说IBM的XLC可以,可以确定的是VC可以,t_main,WinMain,熟悉么?

t_main倒是没有听说过

论坛徽章:
0
8 [报告]
发表于 2009-07-10 17:14 |只看该作者
原帖由 wxfjx 于 2009-7-10 17:09 发表

t_main倒是没有听说过

我在VC2008里面看到的,不过还是用MinGW了。

论坛徽章:
0
9 [报告]
发表于 2009-07-10 17:23 |只看该作者
我 用gcc 编译, 能够通过修改Makefile做到么?

论坛徽章:
0
10 [报告]
发表于 2009-07-10 17:24 |只看该作者

回复 #1 chouyatingde 的帖子

window就不清楚。
linux下是这样的:链接器ld默认指定的程序入口是_start(汇编代码),从这里经来后才调用main.
你可以用ld的-e选项直接修改入口地址。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP