栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

linux系统下编译C++简单工程demo

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

linux系统下编译C++简单工程demo

一、编译简单C++工程demo

本文编写的工程如下:

Myclass的头文件.h/
#pragma once
#include 
using namespace std;
class Myclass {
public:
	Myclass();
	~Myclass();

	void MyPrint();
};
//
///Myclass的源文件cpp///
#include "Myclass.h"
Myclass::Myclass()
{

}
Myclass::~Myclass()
{

}
void Myclass::MyPrint()
{
	std::cout << "hello This is sub print" << endl;
}
//

///数据管理文件DataMange.h
#pragma once
#include 
using namespace std;
class DataMange {
public:
	DataMange();
	~DataMange();

	void DataMangePrint();
};
///
///数据管理文件DataMange.cpp
#include "DataMange.h"

DataMange::DataMange()
{
}

DataMange::~DataMange()
{
}

void DataMange::DataMangePrint()
{
	std::cout << endl;
	std::cout << "hello This is sub2 print" << endl;
	for (int i=0; i < 5;i++)
	{
		std::cout << "DataMangePrint " << i << std::endl;
	}
}
///

///工程文件入口test1.cpp
#include 
#include "Myclass.h"
int main()
{
	std::cout << "hello word" << std::endl;

	Myclass obj;
	obj.MyPrint();
	return 0;
}

将上述代码拷贝到linux系统下,linux下的目录结构体如下:

 

编译有分步编译和直接编译。

1、分步编译

(1)生成.o文件,执行指令如下:

/Public/test1$ g++ -c ./Myclass.cpp ./DataManage/DataMange.cpp ./test1.cpp -I ./ -I ./DataManage/
生成的文件如下:

 (2)生成可执行目标文件.out

指令如下:

Public/test1$ g++ ./Myclass.o ./DataMange.o ./test1.o -I ./ -I ./DataMange/ -o main
生成的文件如下:

(3)直接运行目标文件,输入命令如下:

/Public/test1$ ./main 

结果如下:

 2、直接生成目标文件

(1)直接生成目标执行文件.out,输入如下命令:

/Public/test1$ g++  ./Myclass.cpp ./DataManage/DataMange.cpp ./test1.cpp -I ./ -I ./DataManage/ -o main

 (2)直接运行目标文件。

二、附加 1、编译参数

 -I ./    指的是头文件地址     

-L /    指的是库文件地址

关于g++编译时的地址符号可参考:linux 下 g++编译程序时,-I(大写i) 与-L(大写l)-l(小写l) 的作用_lin_008的博客-CSDN博客_linux 动态编译-l的作用

其他的编译参数可参考:

g++编译过程和动态链接库_weixin_34080903的博客-CSDN博客

2、编译过程 程序的编译过程分为:预处理(生成.i文件)-》编译(生成.s文件)-》汇编(生成.o文件)-》链接(生成执行文件)

详细介绍可参考:

10分钟搞懂g++编译过程_至绽至强的博客-CSDN博客_g++编译

编译静态库和动态库也可参考上面的链接。

 

 

 

 

 

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/938020.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号