精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

在OpenHarmony部署Python編程環境

系統 OpenHarmony
本文介紹如何在OpenHarmony標準系統上部署Python3.8編程環境,并且使用Python調用C/C++的SO庫。

筆者最近將python解釋器cpython3.8移植到了OpenHarmony標準系統上。并且開源相關編譯產物。

開源倉庫:https://gitee.com/from-north-to-north/OpenHarmony_Python

本文介紹如何在OpenHarmony標準系統上部署Python3.8編程環境,并且使用Python調用C/C++的SO庫。

移植思路分享:

使用 OpenHarmony NDK 在X86的linux主機上 交叉編譯 出OpenHarmony arm平臺可以運行的Cpython解釋器。

OpenHarmony系統采用llvm項目中的libc作為C運行時庫,在系統側使用libc ++ .so庫來承載,應用側使用libc++_shared.so來承載,兩邊一套代碼,不同的C++命名空間。https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/napi/ohos-abi.md#c-abi

可執行文件格式:

  • OpenHarmony系統采用ELF文件格式作為全系統的二進制文件格式

目前缺失的模塊:

在OpenHarmony標準系統上部署Python3.8編程環境

  • 使用環境
  • OpenHarmony 4.0R。
  • SDK: OpenHarmony SDK 官方發布渠道 獲取的4.0.10.5。
  • 在OpenHarmony arm64位上部署python3.8編程環境相關文件下載地址:https://gitee.com/from-north-to-north/OpenHarmony_Python。

解壓cpython-3.8_oh_install.tar.xz文件為cpython-3.8_oh_install.tar文件。

將解壓好的cpython-3.8_oh_install.tar文件發送到開發板data目錄,將cpython-3.8_oh_install.tar解壓。

hdc file send cpython-3.8_oh_install.tar /data
hdc shell #進入開發板終端
cd data
tar -xvf cpython-3.8_oh_install.tar

設置python命令(cpython編譯出來的可執行文件)所在路徑。

export PYTHONHOME=/data/cpython-3.8_oh_instal/bin

設置python庫文件所在路徑,包含兩個路徑。

# /data/cpython-3.8_oh_install/lib/python3.8里面有基礎庫的.py文件
# /data/cpython-3.8_oh_install/lib/python3.8/lib-dynload里面有zlib、libffi等三方庫的so 以及 import math需要的math.cpython-38-aarch64-linux-gnu.so等諸如此類的so
export PYTHONPATH=/data/cpython-3.8_oh_install/lib/python3.8:/data/cpython-3.8_oh_install/lib/python3.8/lib-dynload

# 設置third_party的so庫的查找位置 
# 因為把third_party的,例如libffi的庫文件放在/data/cpython-3.8_oh_install/lib/python3.8/lib-dynload
export LD_LIBRARY_PATH=/data/cpython-3.8_oh_install/lib/python3.8/lib-dynload:$LD_LIBRARY_PATH

運行python3。

cd cpython-3.8_oh_install
./bin/python3

將開發板連接網絡,安裝pip。

# 安裝pip
./bin/python3 -m ensurepip --upgrade

# 卸載pip
./bin/python3 -m pip uninstall pip

# pip管理的三方列表
./bin/bin/pip3 list

# 安裝requests庫,使用國內清華源
./bin/bin/pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple requests

# 卸載requests庫
./bin/bin/pip3 uninstall request

將64位python3和pip添加到系統環境變量中。

export PATH=/data/cpython-3.8_oh_install/bin:$PATH
export PATH=/data/cpython-3.8_oh_install/bin/bin:$PATH

#上一步中pip3 and pip3.8被安裝在/data/cpython-3.8_oh_instal
export PATH="/data/cpython-3.8_oh_instal/bin/bin:$PATH"

在OpenHarmony標準系統中使用Python的ctypes模塊調用C/C++的SO庫(類似于NAPI)

  • 使用環境
  • OpenHarmony 4.0R。
  • SDK: OpenHarmony SDK 官方發布渠道 獲取的4.0.10.5。
  • 編譯環境:ubuntu18.04。

下面以一個簡單的例子來實現在OpenHarmony標準系統中用Python的ctypes模塊調用C/C++的SO庫(類似于NAPI),按照以下步驟進行:

下載example工程,工程目錄結構為。

.
├── CMakeLists.txt
└── example.c
  • example.c內容如下:
#include <stdio.h>

// 一個簡單的C函數,將兩個整數相加并返回結果
int add(int a, int b) {
    return a + b;
}
  • CMakeLists.txt:
add_library(example SHARED example.c)

使用OpenHarmony NDK編譯example工程,下載 OpenHarmony SDK 到linux環境,解壓好其中linux的native-linux-x64-x.x.x.x-Release.zip包。

設置OpenHarmony NDK 64位編譯工具鏈環境變量。

# 設置 ohos 64bit 庫編譯工具鏈環境變量 aarch64-linux-ohos
export OHOS_SDK=/home/jiajiahao/OpenHarmony/ndk/ohos-sdk/linux  # 此處是我的ohos_sdk解壓目錄,請替換為你自己的解壓目錄

export AS=${OHOS_SDK}/native/llvm/bin/llvm-as
export CC="${OHOS_SDK}/native/llvm/bin/clang --target=aarch64-linux-ohos"
export CXX="${OHOS_SDK}/native/llvm/bin/clang++ --target=aarch64-linux-ohos"
export LD=${OHOS_SDK}/native/llvm/bin/ld.lld
export STRIP=${OHOS_SDK}/native/llvm/bin/llvm-strip
export RANLIB=${OHOS_SDK}/native/llvm/bin/llvm-ranlib
export OBJDUMP=${OHOS_SDK}/native/llvm/bin/llvm-objdump
export OBJCOPY=${OHOS_SDK}/native/llvm/bin/llvm-objcopy
export NM=${OHOS_SDK}/native/llvm/bin/llvm-nm
export AR=${OHOS_SDK}/native/llvm/bin/llvm-ar
export CFLAGS="-fPIC -D__MUSL__=1"
export CXXFLAGS="-fPIC -D__MUSL__=1"

設置好OpenHarmony NDK編譯環境后,編譯example工程。

cd example
mkdir build 
cd build 
make clean

 # /home/jiajiahao/OpenHarmony/ndk/ohos-sdk/linux是此處是我的ohos_sdk解壓目錄,請替換為你自己的解壓目錄
/home/jiajiahao/OpenHarmony/ndk/ohos-sdk/linux/native/build-tools/cmake/bin/cmake -DCMAKE_TOOLCHAIN_FILE=/home/jiajiahao/OpenHarmony/ndk/ohos-sdk/linux/native/build/cmake/ohos.toolchain.cmake  .. -L 

make

將編譯好的libexample.so發送到開發板上,使用Python調用so庫。

執行以下代碼:

創建一個名為example.py的Python文件,編寫如下代碼:
import ctypes

# 加載C共享庫
libexample = ctypes.CDLL('./libexample.so')

# 調用C函數
result = libexample.add(2, 3)
print("Result:", result)

調用so庫,最后得到兩個數字相加的結果。

責任編輯:姜華 來源: 鴻蒙開發者社區
相關推薦

2024-06-06 08:06:19

鴻蒙大語言模型LLM模型

2023-12-29 08:45:40

Python3.8鴻蒙解釋器

2023-08-11 14:06:58

鴻蒙Windows

2010-03-10 16:05:27

2024-08-08 15:46:34

2013-05-27 14:37:31

Hadoop 2.0.

2023-04-12 15:25:09

Bytrace鴻蒙

2010-01-12 15:13:37

Visual C++環

2021-09-03 06:46:35

CouponsLinux環境

2023-06-13 15:00:54

環境搭建鴻蒙

2021-11-12 08:21:25

SQL ServerLinux數據庫

2023-05-17 15:07:42

智能開發鴻蒙

2023-05-12 14:52:11

鴻蒙操作系統

2023-05-09 15:17:42

Hi3861鴻蒙

2021-06-11 14:16:21

Windows 10WSL OpenHarmon

2021-11-08 07:19:45

鴻蒙HarmonyOS應用

2010-03-12 16:15:06

Python調試

2023-05-15 15:27:20

鴻蒙智能開發套件

2021-08-30 18:09:57

鴻蒙HarmonyOS應用

2022-02-25 14:42:09

OpenHarmon環境搭建鴻蒙
點贊
收藏

51CTO技術棧公眾號

欧美激情一区不卡| www.伊人久久| 成人小说亚洲一区二区三区| 综合干狼人综合首页| 亚洲欧美精品午睡沙发| 日产精品99久久久久久| 欧妇女乱妇女乱视频| 国产午夜福利片| 色婷婷成人网| 国产日韩精品一区二区三区在线| 国内成人精品视频| 少妇欧美激情一区二区三区| 91精品大全| 一区二区三区视频免费观看| 欧美调教femdomvk| 日本午夜精品一区二区三区| 国产成人无码精品久久久久| 2023国产精华国产精品| 亚洲图片你懂的| 国产精品久久久久久av福利| 国产交换配乱淫视频免费| av在线小说| 国产成人在线看| 久久精品久久久久久| 日韩在线不卡一区| 色多多视频在线观看| 美女网站色91| 日韩在线观看免费av| 污污网站免费观看| 免费黄网站在线| 狠狠色丁香久久婷婷综合丁香| 在线观看国产成人av片| 国产一线二线三线在线观看| 成人在线观看网站| 日本aⅴ免费视频一区二区三区| 亚洲另类xxxx| 亚洲色图 在线视频| 午夜老司机在线观看| 91玉足脚交白嫩脚丫在线播放| 日本免费一区二区三区视频观看| 在线免费日韩av| 高潮按摩久久久久久av免费| 天天色天天操综合| 精品综合久久久| 一级黄色在线视频| 欧美午夜精品一区二区三区电影| 欧美三级日本三级少妇99| 综合久久国产| wwwav在线播放| 亚洲精品孕妇| 一区二区欧美日韩视频| 一级特黄a大片免费| 美女福利一区二区| 国产精品久久久久久久久免费相片 | 国产精品资源在线| 免费不卡欧美自拍视频| 国产白袜脚足j棉袜在线观看| 少妇视频在线观看| 国产精品色呦呦| www.成人av| 亚洲成人第一网站| 国产精品成人a在线观看| 欧美成人猛片aaaaaaa| 久久久免费视频网站| 亚洲精品传媒| 国产精品色噜噜| 亚洲国产婷婷香蕉久久久久久99 | 一二三四区在线观看| 成人丝袜18视频在线观看| 人人爽久久涩噜噜噜网站| 日本在线观看网址| 精品av导航| 欧美日韩一区二区三区四区五区| 亚洲综合在线网站| 超碰在线观看免费| 91久色porny| 99国产视频| 精品国产亚洲av麻豆| 国产91精品免费| 国产精品嫩草影院久久久| 国产一级二级三级| 精品久久91| 亚洲国产精品悠悠久久琪琪| 国产三级国产精品国产专区50| 亚洲爆乳无码一区二区三区| 潘金莲激情呻吟欲求不满视频| 五月天婷婷激情网| 丝袜国产日韩另类美女| 久久好看免费视频| 久久99久久99精品免费看小说| 欧美日韩一本| 日韩视频在线一区二区| 毛片毛片毛片毛片毛片毛片毛片毛片毛片| 九九九伊在线综合永久| 午夜视频久久久久久| 亚洲欧美一二三| 成人77777| 亚洲欧美视频在线观看| 成人黄色av片| 啪啪免费视频一区| 亚洲欧美日韩国产综合在线| 欧美高清中文字幕| www.日韩| 欧美一区二区三区小说| 国产一二三区av| 视频一区日韩| 欧美一级免费大片| 欧美bbbbb性bbbbb视频| 黄色欧美网站| 深夜福利一区二区| 国产91丝袜美女在线播放| 久久这里只有精品一区二区| 色偷偷亚洲男人天堂| 国产在线视频99| 另类综合日韩欧美亚洲| 国产精品99久久99久久久二8| 亚洲男人的天堂在线视频| 亚洲免费播放| 91chinesevideo永久地址| 日韩av男人天堂| 国产欧美日韩一级| 97香蕉久久夜色精品国产| 日本少妇全体裸体洗澡| 免费久久99精品国产| 国产伦精品一区二区三区| 午夜精品一区二区三| 日本一区二区三区四区| 黄页网站大全在线观看| 成人国产精品一区二区网站| 欧美一区二区三区白人| 法国空姐电影在线观看| 精品国产一区二区三区av片| 欧美精品福利在线| 国产无套粉嫩白浆内谢| 精品一区二区三区在线观看 | 日本三级中国三级99人妇网站| 怡红院av在线| 337p亚洲精品色噜噜噜| 日本三级黄色网址| 国产亚洲一区二区三区啪| 在线观看亚洲视频| 亚洲精品男人的天堂| 成人免费看的视频| 一二三在线视频| 成人在线黄色电影| 欧美日韩在线免费| 成人3d动漫一区二区三区| 精品国产一区二区三区不卡蜜臂| 蜜臀久久99精品久久久久久宅男 | 精品丰满少妇一区二区三区| 国产精品一页| 精品欧美一区二区久久久伦| 草美女在线观看| 色哟哟欧美精品| 男女视频在线看| 国产一区二区三区四区五区| 4438全国亚洲精品在线观看视频| 久久这里只有精品9| 国内精品第一页| 在线看无码的免费网站| 日韩美女在线| 久久久精品国产网站| 国产视频手机在线观看| 91一区二区在线| 欧美激情 国产精品| 亚洲三级性片| 国产精品久久久久久久久久久新郎 | 一本一道久久a久久精品综合蜜臀| 免费黄色三级网站| 日本午夜一区| 久久国产精品久久久| 91精品国产乱码久久久| 91极品尤物在线播放国产| 精品国精品国产自在久国产应用| 国产精品免费久久久久影院| 日韩三级影院| 日韩一区二区在线播放| 久久激情免费视频| 美女久久久精品| 夜夜爽www精品| 黑人巨大精品| 有码中文亚洲精品| 国产精品国产一区二区三区四区 | 亚洲一区二区中文| 日本亚洲一区| 亚洲一区二区精品久久av| 欧美性猛交久久久乱大交小说| 不卡中文一二三区| 91在线网站视频| 国产精品影院在线| 欧美日韩免费在线| 一二三四国产精品| 国产精品综合在线视频| 黄色网页免费在线观看| 我要色综合中文字幕| 69国产精品成人在线播放| 国产在线观看网站| 岛国av一区二区| 又嫩又硬又黄又爽的视频| 高清免费成人av| 好男人www社区| 欧美午夜免费影院| 3d蒂法精品啪啪一区二区免费| av资源在线观看免费高清| 日韩亚洲欧美一区二区三区| 免费的毛片视频| 一区二区三区四区国产精品| 精产国品一二三区| 欧美激情电影| 国产日韩欧美在线观看| 自拍视频在线播放| 精品va天堂亚洲国产| 久久久久亚洲AV| 中文字幕乱码亚洲精品一区| 九色91popny| 亚洲婷婷免费| 国产乱码一区| 成人在线观看免费播放| 一区二区欧美日韩视频| 蜜桃久久一区二区三区| 亚洲va欧美va天堂v国产综合| 黄色av免费播放| 92国产精品观看| 黑人无套内谢中国美女| 免费在线视频一区| 欧美性久久久久| 九九久久婷婷| 国产精品久久久久久影视| 欧美xxx黑人xxx水蜜桃| 色999日韩欧美国产| 精品无人乱码| 亚洲精品久久久久| 亚洲精品字幕在线观看| 91.成人天堂一区| 久久久999久久久| 色成年激情久久综合| 国产又黄又粗的视频| 99久久精品情趣| 激情网站五月天| 99久久婷婷国产综合精品电影√| 欧美日韩在线观看一区| 欧美亚洲黄色| 国产精品久久久久久五月尺| 另类专区亚洲| 91av国产在线| 天堂av在线| 中文字幕日韩有码| 国产高清视频免费观看| 精品久久久久久久久久ntr影视| 永久免费看黄网站| 亚洲免费伊人电影| 乱h高h女3p含苞待放| 本田岬高潮一区二区三区| 成人在线免费播放视频| 国产精品久久久久久久久久妞妞 | 欧美资源在线| 亚洲va久久久噜噜噜久久狠狠| 成人永久在线| 成人在线视频网站| 精品视频在线播放一区二区三区| 韩国三级日本三级少妇99| 牛牛精品在线| 国产综合在线看| 少妇视频一区| 国产精品电影一区| 久久91超碰青草在哪里看| 亚洲91精品在线| 日本不卡免费高清视频在线| 欧美亚洲视频在线看网址| 欧美黑人一区| 欧美激情亚洲精品| 2020国产在线| 日本精品在线视频| 99久久精品一区二区成人| 国产美女精品视频免费观看| 悠悠资源网亚洲青| 国产z一区二区三区| 成人福利片在线| 91视频国产一区| 国产精品毛片av| 久久精品日产第一区二区三区精品版| 精品网站999| 国产不卡一区二区在线观看 | 99国产精品视频免费观看一公开 | 国产成人av免费在线观看| 91在线视频观看| av中文字幕免费观看| 国产精品久久久久久久裸模| 久久成人在线观看| 色婷婷综合久久久中文字幕| 国产精品久久久久久69| 亚洲精品久久久久久久久久久久久| 玖玖综合伊人| 日韩精品在线观| 日韩中文字幕免费观看| 亚洲图片在线综合| 日本一级在线观看| 久久精品国产成人精品| 成人性生交大片免费看网站| 国产精品扒开腿爽爽爽视频| 亚洲日本va中文字幕| 欧美亚洲国产免费| 亚洲欧美综合| 久久天天东北熟女毛茸茸| 国产一级久久| 在线视频观看91| 久久 天天综合| 小毛片在线观看| 中文字幕制服丝袜成人av | 天天躁日日躁狠狠躁免费麻豆| 久久影院视频免费| www.88av| 成人欧美一区二区三区| 天天色影综合网| 欧美日韩综合视频网址| 亚洲免费在线视频观看| 91精品视频网| 国产1区2区3区在线| 国模视频一区二区三区| 美女精品久久| 亚洲午夜久久久影院伊人| 男人的天堂亚洲| 无码国产69精品久久久久网站| 国产精品久久久久久亚洲伦| 亚洲av中文无码乱人伦在线视色| 欧美精品一区二区在线观看| 麻豆视频网站在线观看| 国产精品久久一区| 免费看av成人| 国产91在线免费| 成人综合在线观看| 青青草原在线免费观看视频| 欧美日韩日日骚| 精品国产av鲁一鲁一区| 色噜噜狠狠狠综合曰曰曰 | 欧美日韩视频一区二区三区| 久热精品在线观看视频| 国产三级一区二区| 久久久久久久久黄色| 亚洲男人天天操| 日本在线播放一二三区| 国产乱码精品一区二区三区不卡| 欧美激情亚洲| 少妇欧美激情一区二区三区| 亚洲精品乱码久久久久| 国产黄频在线观看| 久久在线精品视频| 国模私拍一区二区国模曼安| 成人午夜电影免费在线观看| 欧美国产综合| av电影中文字幕| 国产性做久久久久久| 国产成人愉拍精品久久| 亚洲精品99久久久久中文字幕| √天堂8资源中文在线| 国产一区二区三区四区hd| re久久精品视频| 男人搞女人网站| 中文乱码免费一区二区| 91久久国语露脸精品国产高跟| 久久精品国产视频| 99tv成人影院| 国产精品乱人伦| 91久久久一线二线三线品牌| 一区精品在线观看| 宅男在线一区| 亚洲三级av在线| 依人在线免费视频| 久久精品黄色| 日韩一级在线观看| 男女一区二区三区| 欧美国产极品| 亚洲社区在线观看| 好男人香蕉影院| 欧美亚洲综合视频| 在线观看一区不卡| 91麻豆国产精品| 一区二区三区自拍视频| 日韩不卡视频一区二区| 国产成人在线看| 日韩精品一区二区在线播放| 国产精品第五页| 视频一区免费观看| 人人精品久久| 先锋影音男人资源| 欧美有码视频| 人妻 丝袜美腿 中文字幕| 中文字幕乱码亚洲精品一区| 免费看污片网站| 黑人久久a级毛片免费观看| 欧美sm美女调教| 国产玉足榨精视频在线观看| 国产精品久久久久久av福利| 欧美韩国一区| 日本高清www| 狠狠久久亚洲欧美| 国产精品999999| 国产黄a三级三级三级| 国产亚洲一级高清| 精品视频在线观看免费观看|