命令行下编译多个C/CPP文件

上次我讲了ms 的nmake命令来进行编译多个cpp文件。这次我想一步步的自己来,不再通过makefile的帮助。


首先注意以下几点:

1、#include指令的机制就是讲.h文件中的内容复制到.cpp文件中,所以你只需要编译cpp文件。h文件只是一个陪衬。另外注意.h中的声明语句一定要记得在最后加上分号表示结束,否则编译程序会报错。你可以把h文件省去而直接加到cpp文件中,但是在之后的每一个文件中你就需要重写该类或者函数的声明。所以这也是h文件存在的原因。

2、你可以通过cl -c命令来编译类文件,编译成obj文件后,你可以使用lib命令将其编译为lib文件。然后使用link命令连接多个obj文件。默认生成的可执行文件的名称是命令中第一个obj文件的名称。


看我的例子

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

#include<iostream>
class A{
public:
int a;
int b;
void say();
};


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

/**
class A{
public:
int a;
int b;
void say();
};
*/
#include "A.h"


void A::say(){
a = b;
}

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//#include<iostream>
#include "A.h"
using namespace std;


int main(){
A a;
a.a = 0;
a.b = 9;
a.say();
cout<<a.a<<" "<<a.b<<endl;
}


这里有一个问题我想强调一下。很多同学可能多#include的多重包含不在意。其实#include只是一个复制机制。你可以在A的h文件中直接把iostream给包含了,那么在main中你就没有必要再去包含一次。这或许是很多同学不在意的吧。










评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值