C/C++在Linux GCC下的多文件编译执行

来源:互联网 发布:手机拍照赚钱软件 编辑:程序博客网 时间:2024/06/08 08:20

在Linux下使用GCC/G++来编译执行C/C++代码
C++代码编译:
g++ -c main.cpp -o main.o
g++ -c Circle.cpp -o sub.o
g++ main.o Circle.o -o main
./main
注:用-c 编译出各自的目标文件,在合并编译出可执行文件main
C语言编译同上,把g++换成gcc即可,如下:
gcc -c main.c -o main.o
gcc -c sub.c -o Circle.o
gcc main.o sub.o -o main
./main
下面举例C++的示例代码(C语言省略):
文件1:main.cpp

#include"Circle.h"#include<iostream>using namespace std;int main(int argc,char *argv[]){    Circle c(3);    cout<<"Area="<<c.Area()<<endl;    c.display();    return 0;}

文件2源文件:

#include"Circle.h"#include<iostream>using namespace std;Circle::Circle(){this->r=5.0;}Circle::Circle(double R){this->r=R;}double Circle::Area(){return 3.14*r*r;}void Circle::display(){cout<<"Area="<<Area()<<endl;};

文件2头文件:

#ifndef CIRCLE_H#define CIRCLE_Hclass Circle{    private:        double r;    public:        Circle();        Circle(double R);        double Area();        void display();};#endif

更多文件时,编译更多,使用makefile文件更佳
编写makefile文件后,在当前目录下,在命令行$make执行即可
makefile文件示例:

#explainmain:main.o Circle.o    g++ main.o Circle.o -o mainCircle.o:Circle.cpp    g++ -c Circle.cpp -o Circle.omain.o:main.cpp    g++ -c main.cpp -o main.o

多个文件时,可在Makefile里继续追加相应源文件的编译。

0 0
原创粉丝点击