鲲鹏devkit编译调试工具——《sudoku》作业解析
创始人
2024-02-10 21:01:11

《sudoku》作业解析

本次实验以sudoku项目为例介绍鲲鹏编译调试插件的基本使用方法
本次实验的步骤主要为

  • 获取源码
  • 安装鲲鹏编译调试插件
  • 服务器配置
  • 进行代码同步配置
  • 配置测试任务
  • 进行编译调试
    接下来我们先获取本次实验所需要的源码

获取源码

sudoku项目已经上传到github使用以下命令克隆到本地的
git clone https://github.com/mayerui/sudoku.git
在这里插入图片描述
克隆完成后文件的目录如下
使用vscode打开

安装鲲鹏编译调试插件

使用vscode打开sudoku项目后在插件商店搜寻鲲鹏编译调试插件下载并打开
进行编译调试插件的服务器配置
在这里插入图片描述
打开插件后按照提示配置服务器,本次的项目直接我们选择编译调试就好
在这里插入图片描述
开始进行服务器的配置
在这里插入图片描述
在配置服务器这里,根据要求填写自己的服务器的ip(是公网ip)
这里如果没有进行修改的话默认的ssh端口都是22
ssh用户名也是管理员权限root
工作空间这里需要在服务器上建立自己的工作空间,这里我在/home下建立了一个workspace工作目录,这个根据自己的习惯进行修改
在这里插入图片描述
方便后面的代码同步操作我们需要与服务器建立互信,上传私钥和公钥
本地生成的代码如下,进入cmd输入如下命令
ssh-keygen -b 3072 -t rsa -f D:\tmp
这个命令会在d盘上生成我们需要的公钥和私钥
在这里插入图片描述
tmp为私钥
tmp.pub为公钥
开始配置
在这里插入图片描述
配置完成后可以选择目标服务器进行登录
在这里插入图片描述
选择将sudoku项目同步到我们的远端服务器的工作空间中
在这里插入图片描述
同步完成后在远端服务器的工作空间中可以弹道sudo项目的代码
到这里鲲鹏编译调试的前期的准备工作已经完成
接下来,开始进行sudoku项目的编译调试

使用鲲鹏编译调试插件

首先对sudoku项目进行简单的了解
打开README.md
在这里插入图片描述
通过README.md快速了解下sudoku项目
进入到main函数当中

#if _TEST_test_case1();getchar();
#else

这样的一段代码可以开始给我们获取一些测试用例,默认的_TEST_为0

void CScene::generate()
{// XXX: pseudo randomstatic char map_pattern[10][10] = {"ighcabfde","cabfdeigh","fdeighcab","ghiabcdef","abcdefghi","defghiabc","higbcaefd","bcaefdhig","efdhigbca"};std::vector v = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'};// 产生字母到数字的随机映射std::unordered_map hash_map;for (int i = 1; i <= 9; ++i){int r = random(0, v.size() - 1);hash_map[v[r]] = i;v.erase(v.begin() + r);}// 填入场景for (int row = 0; row < 9; ++row){for (int col = 0; col < 9; ++col){point_t point = {row, col};char key = map_pattern[row][col];setValue(point, hash_map[key]);}}assert(isComplete());return;
}

在scene.cpp文件中的这个方法就是棋盘的初始化的方法
大概了解了整个项目后我们按照REANDE.md开始进行项目的编译
回到插件,开始创建编译命令
在这里插入图片描述
编译命令为
sh build.sh
在这里插入图片描述
开始创建编译命令
在这里插入图片描述
刚开始,这里我们选择同步并编译
在这里插入图片描述
检查服务器是否已经存在cmake
使用以下命令检查
cmake --version
在这里插入图片描述
可以发现这里服务器并没有按安装cmake需要进行按照,使用以下命令进行安装
yum install cmake
在这里插入图片描述
再次查看版本号

在这里插入图片描述
这里是出现了问题的,因为这里的cmake版本只有2.8我们需要的是3.12版本以上才可以
所以需要升级cmake版本
1、依赖环境安装
yum -y install libyaml libyaml-devel python-setuptools libcurl-devel python-devel gmp gmp-devel mpfr mpfr-devel libmpc libmpc-devel libpcap-dev*

2、下载cmake
wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz

3、解压、编译安装
tar xzvf cmake-3.5.2.tar.gz
cd cmake-3.5.2
./bootstrap
make -j 8
make install

4、验证是否安装完成
cmake --version
安装完成cmake后开始执行远程编译任务
在这里插入图片描述
编译成功,进入到bin目录下启动sudo
./sudo
在这里插入图片描述
编译启动正常

调试功能

返回vscode配置代码自动上传功能
在这里插入图片描述
返回到主函数这里对代码进行如下修改
在这里插入图片描述
编写测试用例

在这里插入图片描述
这里是我的程序地址
这里根据个人情况修改测试用例
编写完成后开始获取测试用例
在这里插入图片描述
在这里插入图片描述
最后一步进行断点设置,开始进行调试
在这里插入图片描述
到这里编译调试已经完成!

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...