如何编译多个C/CPP文件
在用#include"*.h"时,一般都是头文件里是声明函数,C或CPP文件里写具体实现,问题就来了,在编写程序时,头文件写在最前边如,但已写好的C或CPP文件写在哪...
在用#include"*.h"时,一般都是头文件里是声明函数,C或CPP文件里写具体实现,问题就来了,在编写程序时,头文件写在最前边如,但已写好的C或CPP文件写在哪
展开
3个回答
展开全部
多个文件,你可以先编译再链接。
MS VC++ 命令:
cl -c a.c b.c d.cpp e.cpp
产生 a.obj b.obj c.obj d.obj
然后链接,例如:
cl a.obj b.obj
哪个程序需要原型,就加哪个头文件。
当然,用 宏 把 头文件 括起来更好,避免重复include
MS VC++ 命令:
cl -c a.c b.c d.cpp e.cpp
产生 a.obj b.obj c.obj d.obj
然后链接,例如:
cl a.obj b.obj
哪个程序需要原型,就加哪个头文件。
当然,用 宏 把 头文件 括起来更好,避免重复include
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以在命令行下编译多个C/CPP文件,通过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;
}
默认生成的可执行文件的名称是命令中第一个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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询