linux下c++编译(g++)、cmake配置完结、配置json文件并调试项目、进程管理

本文详细介绍了如何在Linux CentOS 7环境下配置C++项目,包括使用G++编译器、GDB调试器,创建目录结构,编写C++代码(如Boss类和main函数),并通过CMake管理和自动化编译过程。还演示了如何在VSCode中配置CMake,实现代码编译与调试的便捷操作。
摘要由CSDN通过智能技术生成

一、构建项目编译规则

1.系统配置:
系统要求:linux centos7
编译器:g++
调试器:gdb
以及cmake
IDE:vscode
可以通过命令去查看linux下是否安装:通过–version,这里简单举一个实例是否安装gdb调试器,出现如下图片所示证明已经安装

gdb --version

在这里插入图片描述
若没有安装,可以通过yum命令进行安装如下:

yum -y install gdb

2.创建项目的目录结构。
例如:我们创建一个项目project1,里面需要创建子目录includelsrc,还有一个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命令
在这里插入图片描述
5.运行可执行文件main_cmake.exe
在这里插入图片描述

配置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++的编译使用,希望以后走得更多,学无止境,在这里插入图片描述

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暴躁茹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值