从main函数说起

一、没有任何代码的源文件

当创建一个空白的C/C++源文件时能否编译、运行?如果你有C/C++或其他类似的语言基础,肯定会果断地回答:“当然不能,至少需要一个main函数,它是程序的入口”。
创建一个main.c源文件,里面不写任何代码:
main.c


在vs下尝试编译,会报编译时错误(不会生成.exe可执行文件):

无法解析的外部符号 _main,该符号在函数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 中被引用

暂时先不管出错的原因,显然不包含任何源文件的代码是不能被编译成可执行文件的,至少在C/C++中是这样。然而在Python语言中,即使一个不含任何代码的.py源文件也可以被解释执行(虽然它什么也没做)。
有时候我这样想:我要执行自己的C/C++代码,如果在源文件中不写任何代码,是不是向Python那样虽然什么也不做但至少能执行起来呢(哪怕是显示一个控制台窗口一闪而过),显然在C/C++中是不行的。
在Python的源文件中还曾这样写,如:
test.py

x = 10

很轻松地可以按照意愿定义一个变量,不必附加其他代码,真正的“随心所欲”。同样的我们在C/C++中直接这样写:
main.c

int x = 10;

同样会报编译时错误,而且和之前不含任何代码时的错误相同:

无法解析的外部符号 _main,该符号在函数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 中被引用

显然在C/C++中直接写逻辑代码同样不会编译通过。

二、main函数首先是一个普通的C/C++函数

C/C++的标准指出,每个C/C++程序都要包含一个main函数作为程序的开始,并给出两种定义形式:

int main(void) {
    body }
int main(int argc, char *argv[]) {
    body }

在不涉及参数时,我们通常将main函数定义为:

int main() {
    body }

将main.c源文件修改:
main.c

int main(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值