C语言程序能包含几个main函数,VS:能否在同一个项目中运行多个包含main文件?...

1. 背景

在用VS编程学习C/C++时,总会按照教科书编写多个C/C++程序。程序虽小,但却都包含main()函数。那么能否在当前项目下运行多个包含main函数的.cpp文件?

2. 解答

不能,VS一个项目只能有一个main()。在VS中,区分一个C++程序是通过项目区分,而不是以.cpp文件区分。

3. 实例

main.cpp代码:

// main.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。

//

#include "pch.h"

#include

using namespace std;

int main()

{

cout << 0 << endl;

return 0;

}

main1.cpp代码:

// main.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。

//

#include "pch.h"

#include

using namespace std;

int main()

{

cout << 1 << endl;

return 0;

}

8ec7b06751e1

运行结果

错误提示:

1>main.obj : error LNK2005: _main 已经在 main1.obj 中定义

1>C:\Users\Administrator\Desktop\main\Debug\main.exe : fatal error LNK1169: 找到一个或多个多重定义的符号

4. 替代方法

方法1:只保留待运行的.ccp文件,将其余包含main()的.cpp文件移除、删除、禁用(从生成中排除)、注释main()、修改main函数名等。

8ec7b06751e1

移除

8ec7b06751e1

禁用

方法2:使用代码编辑器,如VSCode,Sublime Text 3等。在代码编辑器上写代码,复制到VS上编译。当然也可以在代码编辑器上搭建C/C++编译环境,直接在上面编译,推荐VS Code:搭建C/C++编译调试运行环境。

8ec7b06751e1

VSCode编译main.cpp

8ec7b06751e1

VSCode编译main1.cpp

5. 总结

VS虽然编译方便,但体量太大,更适用于编写大中型的项目,起码上百行代码以上。对于初学者练习编程而言属于牛刀小用。

推荐在代码编辑器上搭建运行环境,虽然有的编译调试不太方便。

VC 6.0(VC++6.0)、Dev C++、 Code::Blocks也能用,虽然版本看起来很老。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值