一、构建项目编译规则
1.系统配置:
系统要求:linux centos7
编译器:g++
调试器:gdb
以及cmake
IDE:vscode
可以通过命令去查看linux下是否安装:通过–version,这里简单举一个实例是否安装gdb调试器,出现如下图片所示证明已经安装
gdb --version
若没有安装,可以通过yum命令进行安装如下:
yum -y install gdb
2.创建项目的目录结构。
例如:我们创建一个项目project1,里面需要创建子目录includel和src,还有一个main函数。
include:用来存放头文件(.h)
src:用来存放源文件(.cpp)
例图:
通过Linux命令:tree . 查看
tree ./
yuanqiBoss.h
#pragma once
#include <iostream>
using namespace std;
#include <string>
#include <string.h>
class Boss
{
public:
Boss(string name)
{
this->name=name;
}
void bossInfo();//boss的特征
private:
string name;
};
yuanqiboss.cpp
#include"yuanqiBoss.h"
void Boss::bossInfo(){
//输出boss的特征
string name=Boss::name;
cout <<"Boss 名字:"<<Boss::name<<endl;
if (name == "飞龙幼崽")
{
cout <<"攻击:5 防御:7 速度:4"<<endl;
}
else if(name == "飞龙幼崽")
{
cout <<"攻击:5 防御:7 速度:4"<<endl;
}
else if(name == "大骑士")
{
cout <<"攻击:4 防御:6 速度:5"<<endl;
}
else if(name == "曼陀罗花")
{
cout <<"攻击:5 防御:6 速度:3"<<endl;
}
else
{
cout <<"敬请期待......"<<endl;
}
cout <<"continue......."<<endl;
}
main.cpp
#include "yuanqiBoss.h"
int main()
{
cout <<"元气骑士boss查询"<<endl;
//测试功能
Boss boss1("飞龙幼崽");
boss1.bossInfo();//获取boss特征
return 0;
}
g++编译
命令行
# g++ main.cpp src/yuanqiBoss.cpp -Iinclude -o main
运行
# ./main
编译CMake项目
采用vscode完成:
1.首先创建cmake文件:CMakeLists.txt文件代码如下
cmake_minimum_required(VERSION 1.0)
project(YUANQI)
include_directories(include)
add_executable(main_cmake main.cpp src/yuanqiBoss.cpp)
另一种写法,增加的set,增加-g -O2 -Wall
命令
cmake_minimum_required(VERSION 1.0)
project(YUANQI)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O2 -Wall")
include_directories(${CMAKE_SOURCE_DIR}/include)
add_executable(main_cmake main.cpp src/yuanqiBoss.cpp)
这里需要注意cmake的版本号,最低版本一定不能大于自己的版本好
,我这里的cmake版本是2.8版本,所以我选择的最低版本为1.0
2.创建build文件(推荐),用来编译cmake文件。
其目录结构如下
3.进入build文件使用cmake命令
使用**cmake …**是因为,此时已经在build文件夹里,但是CMakeLists.txt文件夹在上一目录中,所以使用cmake命令需要退回到上一目录。
4.使用make命令
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/25ac8d48a08e41731dbacbd0698b1fd5.png)
5.运行可执行文件main_cmake.exe
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/ce70b044fa5e685d67604f403dc5a81e.png)
配置json文件并调试项目
配置后可自动完成代码编译,比如修改保存代码后,可直接使用cmake和make即可完成代码调试(不需要重新使用g++命令编译),未更新…
拓展:
进程管理:
linux中一切皆文件
文件:读写执行
权限:用户、用户组
系统:磁盘、进程
基本概念:
1.在kinux中,每一个程序都有自己的一个进程,每一个进程都有一个id号!
2.每一个进程,都会有一个父进程。
3.进程可以有两种存在方式:前台~后台运行!
3.一般的话服务都是后台运行,基本的程序都是前台运行的。
命令:
ps 查看当前系统中正在执行的各种进程的信息!
-a 显示当前终端运行的所有的进程信息(当前进程)
-u 以用户的信息显示进程
-x 显示后台运行
# ps -aux //查看所有进程
# ps -aux|grep mysql //查看mysql进程
ps -ef:可以查看父进程的信息
ps -ef|grep nysql #看父进程我们一般可以通过目录树结构来查看!
#进程树!
pstree -pu
结束进程:终止进程(类似于windows结束服务)
# kill -9 进程的id //表示强制结束改进程!
学习产出:
通过观看一门linux下vscode C++的课程总结出了以上内容,虽然都是基本知识,但是足够了解linux下c++的编译使用,希望以后走得更多,学无止境,