该课程的实践指导开发者通过鲲鹏开发框架插件,从0到1完成原生开发的基本开发过程。通过学习,我熟悉了原生开发的基本操作过程,体验了原生开发带来的极简操作和性能提升。



1、准备工作:
1)服务器和操作系统正常运行。
我这里用谷歌浏览器打开工具的web网页 ,并进行登录。该web界面的IP地址,账号以及密码等信息在邮件中有详细说明。注意如果提示风险,要选择继续。


验证可以正常访问远程实验室,本项准备工作结束。
2)VSCode安装编译调试插件。
打开VS Code,左上角找到扩展,在输入框中填入“kunpeng”,看到如下界面:

选择安装鲲鹏Devkit入口插件。

选择安装鲲鹏开发框架插件。

选择安装鲲鹏编译调试插件。

之后,在扩展功能输入框内再输入“c++”,安装c/c++插件。
至此,准备工作阶段的任务完成。
2、创建通用计算工程。
1)工程创建。
选择鲲鹏开发框架插件,新建鲲鹏工程,通用计算应用。

工程名称设置为testGzip,工程位置选择home,点击”Next”按钮进入加速库选择页面。

勾选”Gzip”加速库,点击“Create Project”按钮创建工程。

点击“Cancel”按钮,不部署加速库。

点击“Yes”同意下载加速库。

2)查看鲲鹏工程。
创建成功后,点击“View Project”按钮查看工程。

点击“This Window”按钮,本窗口打开工程。
之后点开工程third-party文件夹中的gzip子文件夹,查看里面的具体内容。

我们可以看到gzip文件夹中有两个子文件夹,分别是gzip_demo和gzip-1.10.aarch64, gzip_demo中包有一个名为demo_gzip的cpp文件,该demo包含了对gzip库中压缩和解压缩功能的调用。gzip-1.10.aarch64是已经下载并解压好的gzip鲲鹏加速库,该加速库针对鲲鹏处理器的架构特点,对gzip原生库进行了加速优化。接下来我们将利用demo_gzip来对比加速库和原生库在解压2G大小文件时的解压效率。
3)编译并执行鲲鹏工程。
首先,点击vscode上方的Terminal按钮,并选择New Terminal选项。


选择鲲鹏编译调试插件,进行编译调试。

添加目标服务器相关参数如下:


其中密钥的生成命令如下:
代码:ssh-keygen -m PEM -t rsa -b 2048

选择跳过引导。
最上方选择远程服务器。

选择同步并编译。
其次,登录之后,依次执行如下命令:

用SSH工具MobaXterm登录远程服务器,根据README.md的提示内容进行相关操作。
cd到testGzip文件夹下
代码:cd /home/project/testGzip
清除鲲鹏工程目录中src文件夹中的内容
代码:cd src
代码:rm -f *
执行./configure编译gzip
代码:cd /home/project/testGzip/third-party/gzip/
gzip-1.10.aarch64/
代码:bash ./configure
执行脚本修改构建文件中的内容.
代码:cp /home/project/testGzip/third-party/gzip/
gzip_demo/change_gzip_makefile.sh .
代码:sh change_gzip_makefile.sh
添加执行权限后执行make命令
代码:chmod +x build-aux/*
代码:make
将以下内容拷贝到源码lib目录下
代码:cp libgzip.so gzip.h version.h lib/config.h ../../../lib
接着拷贝gzip_demo内容到src目录
代码:cd ../../../src
代码:cp ../third-party/gzip/gzip_demo/* .
代码:cd ../build
cmake ../src
代码:make
拷贝待测试文件到src目录
代码:cp ../../gzip_test/test.log.2G_1.origin.gz ../bin
代码:cd ../bin
执行鲲鹏工程代码对压缩包进行解压
代码:gzip -d test.log.2G_1.origin.gz
代码:time ../build/demo_gzip test.log.2G_1.origin test_huawei.gz

该课程的实践指导开发者通过鲲鹏开发框架插件,从0到1完成原生开发的基本开发过程。通过学习,我熟悉了原生开发的基本操作过程,体验了原生开发带来的极简操作和性能提升。
1、准备工作:
1)服务器和操作系统正常运行。
我这里用谷歌浏览器打开工具的web网页 ,并进行登录。该web界面的IP地址,账号以及密码等信息在邮件中有详细说明。注意如果提示风险,要选择继续。
验证可以正常访问远程实验室,本项准备工作结束。
2)VSCode安装编译调试插件。
打开VS Code,左上角找到扩展,在输入框中填入“kunpeng”,看到如下界面:
选择安装鲲鹏Devkit入口插件。
选择安装鲲鹏开发框架插件。
选择安装鲲鹏编译调试插件。
之后,在扩展功能输入框内再输入“c++”,安装c/c++插件。
至此,准备工作阶段的任务完成。
2、创建通用计算工程。
1)工程创建。
选择鲲鹏开发框架插件,新建鲲鹏工程,通用计算应用。
工程名称设置为testGzip,工程位置选择home,点击”Next”按钮进入加速库选择页面。
勾选”Gzip”加速库,点击“Create Project”按钮创建工程。
点击“Cancel”按钮,不部署加速库。
点击“Yes”同意下载加速库。
2)查看鲲鹏工程。
创建成功后,点击“View Project”按钮查看工程。
点击“This Window”按钮,本窗口打开工程。
之后点开工程third-party文件夹中的gzip子文件夹,查看里面的具体内容。
我们可以看到gzip文件夹中有两个子文件夹,分别是gzip_demo和gzip-1.10.aarch64, gzip_demo中包有一个名为demo_gzip的cpp文件,该demo包含了对gzip库中压缩和解压缩功能的调用。gzip-1.10.aarch64是已经下载并解压好的gzip鲲鹏加速库,该加速库针对鲲鹏处理器的架构特点,对gzip原生库进行了加速优化。接下来我们将利用demo_gzip来对比加速库和原生库在解压2G大小文件时的解压效率。
3)编译并执行鲲鹏工程。
首先,点击vscode上方的Terminal按钮,并选择New Terminal选项。
选择鲲鹏编译调试插件,进行编译调试。
添加目标服务器相关参数如下:
其中密钥的生成命令如下:
代码:ssh-keygen -m PEM -t rsa -b 2048
选择跳过引导。
最上方选择远程服务器。
选择同步并编译。
其次,登录之后,依次执行如下命令:
用SSH工具MobaXterm登录远程服务器,根据README.md的提示内容进行相关操作。
cd到testGzip文件夹下
代码:cd /home/project/testGzip
清除鲲鹏工程目录中src文件夹中的内容
代码:cd src
代码:rm -f *
执行./configure编译gzip
代码:cd /home/project/testGzip/third-party/gzip/
gzip-1.10.aarch64/
代码:bash ./configure
执行脚本修改构建文件中的内容.
代码:cp /home/project/testGzip/third-party/gzip/
gzip_demo/change_gzip_makefile.sh .
代码:sh change_gzip_makefile.sh
添加执行权限后执行make命令
代码:chmod +x build-aux/*
代码:make
将以下内容拷贝到源码lib目录下
代码:cp libgzip.so gzip.h version.h lib/config.h ../../../lib
接着拷贝gzip_demo内容到src目录
代码:cd ../../../src
代码:cp ../third-party/gzip/gzip_demo/* .
代码:cd ../build
cmake ../src
代码:make
拷贝待测试文件到src目录
代码:cp ../../gzip_test/test.log.2G_1.origin.gz ../bin
代码:cd ../bin
执行鲲鹏工程代码对压缩包进行解压
代码:gzip -d test.log.2G_1.origin.gz
代码:time ../build/demo_gzip test.log.2G_1.origin test_huawei.gz