文档章节

C语言的入口函数不一定叫main

 宁哥实战课堂
发布于 2017/08/31 17:13
字数 414
阅读 16
收藏 0

C语言的入口程序好像都被固定好了叫“main”但是不一定哦。

先写个程序:#include<stdio.h>

#include<stdlib.h>

int main()

{

printf("俄罗斯方块---《C语言,好爽》2017年录 By 宁哥");

system("pause");

return 0;

}

C语言的入口函数不一定叫main

但我现在运行一个C语言图形化程序:

C语言的入口函数不一定叫main

看到了提示错误;

你可能认为这不叫“main”啊,但是即使改为main,也不对;同时,不叫“main”,同样可以对!

这样的修改就OK了:

C语言的入口函数不一定叫main

C语言的入口函数不一定叫main

C语言的入口函数不一定叫main

改为:

C语言的入口函数不一定叫main

结果OK了:

C语言的入口函数不一定叫main

这就说明叫不叫main,其实不是永恒不变的。

那么这是什么原因呢?这完全由操作系统怎么调用决定的。

很简单的一个道理,比如我事先写好了调用“add”函数,那么你在写函数体的时候名字就必须叫add,而我如果改成叫"add2"的函数,你在写函数体的时候就必须写成“add2”,同样的道理,操作系统在某种情况下找main函数,此时你就应该写"main"的函数名,如果操作系统在其他的情况下找“WinMain”或者“WinMain2”的时候,你自然就应该把入口函数写成“WinMain”或者“WinMain2”了。那么这里写成"main"不行,写成“WinMain”却可以,就不难理解了。

本例是在写《C语言,好爽》2017年版的“俄罗斯方块”项目中遇到的道理,希望对C语言初学者有用。

总结:C语言的入口函数不一定叫“main”,叫什么那得看操作系统去找什么...透过现象看本质,你会学的更轻松...

© 著作权归作者所有

共有 人打赏支持
粉丝 5
博文 72
码字总数 77184
作品 0
长沙
其他
C语言的入口函数不一定叫main

C语言的入口程序好像都被固定好了叫“main”但是不一定哦。 先写个程序:#include #include int main() { printf("俄罗斯方块---《C语言,好爽》2017年录 By 宁哥"); system("pause"); retu...

ningcaichen66
2017/09/24
0
0
c语言基础学习11_项目实战:IDE(集成开发环境)

============================================================================= ============================================================================= 涉及到的知识点有: 一......

黑泽明军
01/29
0
0
架构编译器的感悟

这所谓的编译器就是将c语言代码编译为机器代码的,先将C编译为汇编代码,再由汇编器将汇编代码编译为机器代码,CPU执行的是机器代码 突然发觉好像很多书都这么说,很多人也这么说,于是很自然...

xyh12344
2015/12/12
37
0
windows程序设计自学笔记(一)

本周开始自学windows编程,选的教材是《windows程序设计第五版》(珍藏版),没钱买书,只能下了pdf的书籍来看。 《windows程序设计第五版》(珍藏版)共分3个大部分,分别是:1)基础知识[...

赵西元
2012/12/13
0
0
Linux学习笔记(os)

计算机组成: 存储器:内存和外存 (CPU一般会有缓存L1 L2甚至L3,一级缓存几十k到几百k (分数据Cache和指令Cache,与CPU同频),二级缓存几百k到几m(现在一般为CPU内置,与CPU同频,若外置...

赵-猛
2016/01/10
11
0

没有更多内容

加载失败,请刷新页面

加载更多

Java中的移位运算符

国庆给自己放了个小长期二十几天,回来继续更新专栏 上一篇文章我们说了Java里的二进制,知道了计算机是以0和1来处理数据的,在阅读源码的过程中,经常会看到这些符号<< ,>>,>>>,这些符号...

SuShine
26分钟前
2
0
linux版QQ

下载地址在这 http://yun.tzmm.com.cn/index.php/s/XRbfi6aOIjv5gwj Appimage包不用做什么别的处理,安装啥的都不需要。。找到文件所在目录,终端中修改一下文件的权限 chmod 777 QQ-2017112...

悲催的古灵武士
32分钟前
1
0
咕泡-MyBatis 实用篇作业

1. Mapper在spring管理下其实是单例,为什么可以是一个单例? 首先,mapper 内部不包含 成员字段,无状态单例是安全的 另外,一直存在不用每次调用都new 一个新实例 2. MyBatis在Spring集成下...

职业搬砖20年
35分钟前
2
0
MQTT协议的初浅认识之连接建立

MQTT百科 MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在 TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布...

亚林瓜子
52分钟前
1
0
OpenStack部署都有哪些方式

对于每一个刚接触到OpenStack的新人而言,安装无疑是最困难的,同时这也客观上提高了大家学习OpenStack云计算的技术门槛。想一想,自己3年前网上偶然接触到OpenStack时,一头茫然,手动搭建一...

tututu_jiang
52分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部