0. 根底环境
类别:笔记本
型号:中国长城 NF14C
硬件平台:飞腾处理器(ArmV8 指令集)
零碎:河汉麒麟操作系统 V10 SP1(2203)
关键词:
信创, 麒麟零碎,linux,c++,c, 内核飞腾,arm
1. 需要背景
C/C++ 在面向底层和高性能计算是,具备无可替代的性能劣势与对硬件全面管制的能力。因而,尽管当初 GO 语言和 Java 语言大行其道,但 C 和 C ++ 的研发依然不可少,特地是如人工智能算法包等。
2. 根底筹备工作
2.1 JDK 装置
JDK 装置是因为 Clion、Eclipse 应用, 关上终端输出
sudo apt-get install openjdk-11-jdk -y
2.2 C++ 编译依赖装置
sudo apt-get install llvm gcc g++ cmake git vim -y
3. 应用 clion 进行 C ++/ C 语言开发(集体首选,习惯了 jetbrains 系列)
关上 https://www.jetbrains.com.cn/…,
依据本人的须要下载对应 Clion 的版本二进制版本,https://download.jetbrains.co…14g9b34_gaMTA0NTY4MjM1Ny4xNjU2MjUyODcw_ga_9J976DJZ68*MTY1NjI1Mjg2OS4xLjAuMTY1NjI1Mjg4OC4w
解压到相应的文件夹,文件夹门路不能有中文。
https://jetbra.in/s ja-jetbrains 激活工具配套激活码地址(仅供学习钻研,应用请购买官网正版), 下面下载最新的工具和激活码。激活能够参考:https://segmentfault.com/a/11…
工具下载,如同有时候工具所在网站打不通,能够应用的我 NAS 地址
http://gofile.me/4i7bC/TppnI17yM
HLLIQN9GJ8-eyJsaWNlbnNlSWQiOiJITExJUU45R0o4IiwibGljZW5zZWVOYW1lIjoiZnV6emVzIGFsbHkiLCJhc3NpZ25lZU5hbWUiOiIiLCJhc3NpZ25lZUVtYWlsIjoiIiwibGljZW5zZVJlc3RyaWN0aW9uIjoiIiwiY2hlY2tDb25jdXJyZW50VXNlIjpmYWxzZSwicHJvZHVjdHMiOlt7ImNvZGUiOiJQU0kiLCJmYWxsYmFja0RhdGUiOiIyMDIzLTA3LTAxIiwicGFpZFVwVG8iOiIyMDIzLTA3LTAxIiwiZXh0ZW5kZWQiOnRydWV9LHsiY29kZSI6IkNMIiwiZmFsbGJhY2tEYXRlIjoiMjAyMy0wNy0wMSIsInBhaWRVcFRvIjoiMjAyMy0wNy0wMSIsImV4dGVuZGVkIjpmYWxzZX0seyJjb2RlIjoiUENXTVAiLCJmYWxsYmFja0RhdGUiOiIyMDIzLTA3LTAxIiwicGFpZFVwVG8iOiIyMDIzLTA3LTAxIiwiZXh0ZW5kZWQiOnRydWV9LHsiY29kZSI6IlBTVyIsImZhbGxiYWNrRGF0ZSI6IjIwMjMtMDctMDEiLCJwYWlkVXBUbyI6IjIwMjMtMDctMDEiLCJleHRlbmRlZCI6dHJ1ZX0seyJjb2RlIjoiUFdTIiwiZmFsbGJhY2tEYXRlIjoiMjAyMy0wNy0wMSIsInBhaWRVcFRvIjoiMjAyMy0wNy0wMSIsImV4dGVuZGVkIjp0cnVlfV0sIm1ldGFkYXRhIjoiMDEyMDIyMDcwMVBTQU4wMDAwMDUiLCJoYXNoIjoiVFJJQUw6MTY2NTMxNDYzNCIsImdyYWNlUGVyaW9kRGF5cyI6NywiYXV0b1Byb2xvbmdhdGVkIjpmYWxzZSwiaXNBdXRvUHJvbG9uZ2F0ZWQiOmZhbHNlfQ==-GOMmWoD11vf1Sa7ovZ+XCjjxy7howrbbKgLZ5ja7tKZqRAOFkS3cOcqbXotA+8eGAK6iMyaG1Eb9O7Yt+Ncz+HmZPkorbcAmbg3FK89tM1xlpJ/R6MsSYmkx4+pRyrdYb+ZdPWo78f9L/LmR9fwHk3AKYt9y8aNmCSzLMqEXy89yUYyPP1fydRSV++fXin8Y4N2jmg+hLZPSj90s4F6cc2lPvxgV7UwDpD5IEe8e5o7iWbW/9UhcsEvGsY18uLN1uCr/fDdJpNFpjGysSyokfqfyEd6uZxGp9PeC75GF2v6RcQ35HwXFt21wqVxP+fS8oiNnpHjXy+lUF2qK8F081A==-MIIETDCCAjSgAwIBAgIBDTANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBMB4XDTIwMTAxOTA5MDU1M1oXDTIyMTAyMTA5MDU1M1owHzEdMBsGA1UEAwwUcHJvZDJ5LWZyb20tMjAyMDEwMTkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCUlaUFc1wf+CfY9wzFWEL2euKQ5nswqb57V8QZG7d7RoR6rwYUIXseTOAFq210oMEe++LCjzKDuqwDfsyhgDNTgZBPAaC4vUU2oy+XR+Fq8nBixWIsH668HeOnRK6RRhsr0rJzRB95aZ3EAPzBuQ2qPaNGm17pAX0Rd6MPRgjp75IWwI9eA6aMEdPQEVN7uyOtM5zSsjoj79Lbu1fjShOnQZuJcsV8tqnayeFkNzv2LTOlofU/Tbx502Ro073gGjoeRzNvrynAP03pL486P3KCAyiNPhDs2z8/COMrxRlZW5mfzo0xsK0dQGNH3UoG/9RVwHG4eS8LFpMTR9oetHZBAgMBAAGjgZkwgZYwCQYDVR0TBAIwADAdBgNVHQ4EFgQUJNoRIpb1hUHAk0foMSNM9MCEAv8wSAYDVR0jBEEwP4AUo562SGdCEjZBvW3gubSgUouX8bOhHKQaMBgxFjAUBgNVBAMMDUpldFByb2ZpbGUgQ0GCCQDSbLGDsoN54TATBgNVHSUEDDAKBggrBgEFBQcDATALBgNVHQ8EBAMCBaAwDQYJKoZIhvcNAQELBQADggIBABqRoNGxAQct9dQUFK8xqhiZaYPd30TlmCmSAaGJ0eBpvkVeqA2jGYhAQRqFiAlFC63JKvWvRZO1iRuWCEfUMkdqQ9VQPXziE/BlsOIgrL6RlJfuFcEZ8TK3syIfIGQZNCxYhLLUuet2HE6LJYPQ5c0jH4kDooRpcVZ4rBxNwddpctUO2te9UU5/FjhioZQsPvd92qOTsV+8Cyl2fvNhNKD1Uu9ff5AkVIQn4JU23ozdB/R5oUlebwaTE6WZNBs+TA/qPj+5/we9NH71WRB0hqUoLI2AKKyiPw++FtN4Su1vsdDlrAzDj9ILjpjJKA1ImuVcG329/WTYIKysZ1CWK3zATg9BeCUPAV1pQy8ToXOq+RSYen6winZ2OO93eyHv2Iw5kbn1dqfBw1BuTE29V2FJKicJSu8iEOpfoafwJISXmz1wnnWL3V/0NxTulfWsXugOoLfv0ZIBP1xH9kmf22jjQ2JiHhQZP7ZDsreRrOeIQ/c4yR8IQvMLfC0WKQqrHu5ZzXTH4NO3CwGWSlTY74kE91zXB5mwWAx1jig+UXYc2w4RkVhy0//lOmVya/PEepuuTTI4+UJwC7qbVlh5zfhj8oTNUXgN0AOc+Q0/WFPl1aw5VV/VrO8FCoB15lFVlpKaQ1Yh+DVU8ke+rt9Th0BCHXe0uZOEmH0nOnH/0onD
应用 ja-jetbrains 工具下的 vmoptions 内容替换现有的 vmoptions64 内容,并增加 -javaagent 行,指定 ja-netfilter.jar 所在位置
-Xms128m
-Xmx1024m
-XX:ReservedCodeCacheSize=512m
-XX:+IgnoreUnrecognizedVMOptions
-XX:+UseG1GC
-XX:SoftRefLRUPolicyMSPerMB=50
-XX:CICompilerCount=2
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-ea
-Dsun.io.useCanonCaches=false
-Djdk.http.auth.tunneling.disabledSchemes=""
-Djdk.attach.allowAttachSelf=true
-Djdk.module.illegalAccess.silent=true
-Dkotlinx.coroutines.debug=off
-XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log
-XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof
--add-opens=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED
--add-opens=java.base/jdk.internal.org.objectweb.asm.tree=ALL-UNNAMED
-javaagent:/home/long/clion-2022.1.3/jetbra/ja-netfilter.jar=jetbrains
再应用在网站上获取的最新激活码激活
激活胜利,退出
4. 应用 eclipse 进行 c ++/ C 语言开发
eclipse 能够通过利用市场下载(也能够通过官方网站下载 aarch 版本的 installer,在外面间接抉择)
启动后,点帮忙菜单进入插件市场
搜寻 C ++ 集成环境插件 CDT,点装置 (或通过官网间接下载最新插件 https://www.eclipse.org/cdt/d…)
装置结束后重启失效。
5. 应用 Qt Creator 进行 C ++/ C 语言开发
qt creator 能够通过利用市场下载安装
利用市场下装置 qmake(要进入全副能力看到)
关上后的成果
此外还须要装置 qt sdk
https://download.qt.io/archiv…
https://download.qt.io/archiv…
解压到自定义文件夹
关上 qt creator, 点工具 | 选项菜单
我的 qmake 地位如下(cmake 不必配置,已自动检测到)
kits 配置好
6. 实例
6.1 Eclipse
关上 eclipse,点击新建工程,找到 C ++,如下图。
6.2 Clion 及配置
自带的 cmake 不能在 arm 飞腾下工作,须要在 setting 中配置 toolchains.
配置后成果如下
保留,IDE 会重建工程索引,请急躁期待. 编译运行成果如下
6.3 qt creator(不完满,很久没有搞 QT 了,欢送 QT 开发人员评论补充)
新建我的项目
麒麟零碎专栏:
https://segmentfault.com/blog…
文章发表在 SegmentFault
分割邮箱:1179611323@qq.com
群:662512340
发行日志:
20220702 首发