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

在OpenHarmony標準系統上使用Python調用C/C++的SO庫(移植Python3.8到OpenHarmony標準系統)

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

想了解更多關于開源的內容,請訪問:

51CTO 開源基礎軟件社區

https://ost.51cto.com

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

  • 開源倉庫:在OpenHarmony標準系統上部署Python3.8編程環境

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

目錄

在OpenHarmony標準系統上使用Python調用C/C++的SO庫

  • 在OpenHarmony標準系統上部署Python3.8編程環境
  • 在OpenHarmony arm64位上部署python3.8編程環境
  • 在OpenHarmony標準系統中使用Python的ctypes模塊調用C/C++的SO庫(類似于NAPI)
  • 在OpenHarmony標準系統上使用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文件格式作為全系統的二進制文件格式。

目前缺失的模塊:

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

  • 使用環境

(1)在OpenHarmony arm64位上部署python3.8編程環境

  • 相關文件下載地址:python3.8 for arm64 OpenHarmony

解壓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"

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

  • 使用環境

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

1.下載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)

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

3.設置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庫,最后得到兩個數字相加的結果。

想了解更多關于開源的內容,請訪問:

51CTO 開源基礎軟件社區

https://ost.51cto.com

責任編輯:jianghua 來源: 51CTO 開源基礎軟件社區
相關推薦

2024-07-09 08:15:26

鴻蒙PythonC++

2022-09-14 15:28:19

操作系統鴻蒙

2023-06-27 15:12:46

C++三方庫移植

2022-09-15 15:21:22

操作系統鴻蒙

2022-09-13 16:10:15

鴻蒙操作系統

2022-09-07 15:08:58

操作系統鴻蒙

2022-09-16 15:01:37

操作系統技術鴻蒙

2022-09-06 15:46:52

speexdsp鴻蒙

2022-09-15 14:56:12

GDB調試鴻蒙

2022-10-12 15:14:08

開機動畫鴻蒙

2021-09-16 15:04:28

鴻蒙HarmonyOS應用

2023-02-01 16:28:30

Linux內核鴻蒙

2022-04-02 20:45:04

Hi3516開發板操作系統鴻蒙

2021-11-08 07:19:45

鴻蒙HarmonyOS應用

2022-01-13 10:11:59

鴻蒙HarmonyOS應用

2023-02-01 16:38:53

2022-02-16 16:01:02

Hi3516開發板鴻蒙

2021-10-09 10:12:39

鴻蒙HarmonyOS應用

2021-07-19 15:34:05

鴻蒙HarmonyOS應用

2022-04-06 11:27:05

harmonyeTS 開發NAPI開發
點贊
收藏

51CTO技術棧公眾號

日韩精品一区二区三区丰满| 91精品国产91久久久久久久久| 91小视频在线播放| av在线官网| 白白色 亚洲乱淫| 日本一区二区三区在线播放| 污软件在线观看| 日本欧美韩国国产| 欧美裸体一区二区三区| www插插插无码视频网站| 国产黄在线观看| 高清不卡一区二区| 国产va免费精品高清在线观看| 天天看天天摸天天操| 麻豆精品99| 91精品午夜视频| 日韩a在线播放| 91麻豆一二三四在线| 久久久久成人黄色影片| 91超碰在线电影| 国产精华7777777| 欧美先锋影音| www.日韩.com| 丰满少妇在线观看资源站| 99综合久久| 欧美午夜宅男影院在线观看| av动漫在线免费观看| 视频一区二区三区不卡| 久久综合色综合88| 国产精品日韩一区二区三区| 91极品身材尤物theporn| 国产手机视频一区二区| 久久69精品久久久久久久电影好| 国产又粗又黄又猛| 亚洲精品aaaaa| 亚洲成人久久网| 欧美xxxxxbbbbb| 免费在线成人激情电影| 色呦呦日韩精品| 日日橹狠狠爱欧美超碰| 欧美xxxx性xxxxx高清| 一区视频在线播放| 四虎永久在线精品免费一区二区| 天堂中文在线8| 成人高清视频免费观看| 岛国视频一区免费观看| 99久久免费国产精精品| 久草这里只有精品视频| 国产精品夜色7777狼人| 国产美女www| 久久久国产亚洲精品| 777精品视频| 日韩黄色精品视频| 日韩一级大片| 7777免费精品视频| 国产精品美女久久久久av爽| 最新亚洲一区| 午夜精品福利在线观看| 永久免费看片在线播放| 99国产一区| 91精品国产高清久久久久久久久| 日韩精品一区二区三| 亚洲久久一区二区| 97av在线视频| 国产精品suv一区| 久久亚洲综合| 国产精品久久久久久久久免费看 | 另类图片第一页| 精品国产3级a| 欧美理论电影在线观看| 99中文字幕| 国产高清视频免费观看| 国产传媒久久文化传媒| 国产高清不卡av| 手机看片一区二区| 久久人人爽人人爽| 亚洲精品视频一区二区三区| 在线看av的网址| 综合久久久久久久| 91.com在线| 理论片午夜视频在线观看| 色综合久久综合中文综合网| 成人午夜激情av| 精品视频在线观看免费观看| 日韩精品一区在线| 特大黑人巨人吊xxxx| 精品毛片免费观看| 麻豆乱码国产一区二区三区| 久久精品免费在线| 久久久久久9| 国产精品丝袜久久久久久不卡| 99产精品成人啪免费网站| 不卡欧美aaaaa| 日本一区高清不卡| 尤物yw193can在线观看| 偷拍日韩校园综合在线| 一区二区成人网| 在这里有精品| 伊人久久久久久久久久| 一区二区在线观看免费视频| 亚洲欧美久久| 91久久国产精品91久久性色| 少妇精品视频一区二区| 国产精品国产自产拍高清av| 成人一区二区免费视频| 免费视频观看成人| 亚洲国产成人精品一区二区| 国产精品久久久视频| 亚洲一级一区| 国产美女精品免费电影| 污视频网站在线播放| 中文字幕在线不卡一区二区三区| 免费看国产曰批40分钟| 四虎国产精品免费久久| 日韩精品在线第一页| 亚洲av无码一区二区三区在线| 男人的天堂亚洲在线| 亚洲综合自拍一区| 思思99re6国产在线播放| 欧美日韩国产综合新一区 | 精品亚洲欧美日韩| 最新日本在线观看| 欧美性色欧美a在线播放| 亚洲最大的黄色网| 女人色偷偷aa久久天堂| 国产精品美女视频网站| 日韩av视屏| 亚洲一区在线视频观看| 九九九九九国产| 国产欧美一区| 奇米影视亚洲狠狠色| 亚洲欧美激情在线观看| 亚洲精品国产精品乱码不99| 亚洲图色中文字幕| 青青草91久久久久久久久| 欧洲日本亚洲国产区| 成人小说亚洲一区二区三区| 亚洲欧美一区二区三区久本道91| 国产精品视频黄色| 久久99性xxx老妇胖精品| 97精品在线观看| 亚洲精品网站在线| 亚洲女性喷水在线观看一区| 国产一伦一伦一伦| 日韩精品一区二区三区免费观影 | 日韩免费在线电影| 亚洲人成电影网| 男人天堂2024| 国产亚洲制服色| 国精产品一区一区三区视频| 精品日产乱码久久久久久仙踪林| 久久久久久久国产精品视频| 亚洲av无码片一区二区三区 | 性欧美gay| 亚洲人成在线电影| 婷婷激情五月综合| 国产欧美日韩在线视频| 天天爽人人爽夜夜爽| 久久综合88| 91精品久久久久久久久久久| 日韩伦理在线电影| 3d动漫精品啪啪一区二区竹菊| 国产精品久久久免费看| 黄色精品一二区| 久久香蕉视频网站| 国产主播性色av福利精品一区| 午夜美女久久久久爽久久| 亚洲欧洲精品视频| 色哟哟国产精品免费观看| 女人十八毛片嫩草av| 久草在线在线精品观看| 黄色网在线视频| 欧美1区二区| 欧美诱惑福利视频| 高清av电影在线观看| 91精品国产一区二区三区蜜臀| √天堂中文官网8在线| 国产ts人妖一区二区| 国产亚洲综合视频| 成人激情免费视频| 亚洲一区二区三区四区在线播放| 女子免费在线观看视频www| 日韩av一区在线观看| 丰满人妻一区二区三区四区| 中文字幕中文在线不卡住| 国产精品一区二区在线免费观看| 国产农村妇女精品一二区| 四虎永久国产精品| 亚洲视频精选| 欧美一级电影免费在线观看| 欧美r级在线| 欧美精品一区男女天堂| 亚洲精品国产精品国自产网站按摩| 中文av字幕一区| 精产国品一区二区三区| 老司机午夜精品视频| 亚洲区成人777777精品| 青青视频一区二区| 成人午夜一级二级三级| 国产拍在线视频| 色噜噜国产精品视频一区二区| 后进极品白嫩翘臀在线视频| 欧洲色大大久久| 国产主播在线播放| 国产精品你懂的在线| av无码一区二区三区| 欧美bbbbb| 国产一区二区三区小说| 日韩成人影院| 黄色99视频| 国产一区二区三区视频在线| 欧美一区二区三区四区在线| 最新黄网在线观看| 社区色欧美激情 | 亚洲欧洲精品视频| 精品日韩欧美在线| 中文字幕有码视频| 欧美性xxxxxxxxx| 久久久无码精品亚洲国产| 国产精品你懂的在线欣赏| 在线免费观看成年人视频| 国产成人在线网站| 国产精品嫩草影院8vv8| 久久av在线| 免费 成 人 黄 色| 国产综合自拍| www.黄色网址.com| 色狮一区二区三区四区视频| 欧美在线播放一区二区| 日韩三级毛片| 国产精品亚洲综合| 视频一区日韩| 91精品啪在线观看麻豆免费| 99久久精品一区二区成人| 欧美中文字幕视频在线观看| 91jq激情在线观看| 欧美精品18videos性欧| 亚洲第一图区| 欧美成人性色生活仑片| 国产精品久久久久久福利| 日韩中文字幕在线| 91涩漫在线观看| 在线观看欧美日韩| xxxxx日韩| 在线日韩精品视频| 国产精品影院在线| 国产亚洲精品久久久优势| 欧美视频综合| 亚洲一级黄色片| 成年人在线观看网站| 一区国产精品视频| 欧美激情午夜| 久久亚洲国产成人| 性xxxxfjsxxxxx欧美| 欧美国产日韩免费| 成人观看网址| 日韩免费中文字幕| 99只有精品| 国产在线拍揄自揄视频不卡99| 伊人久久大香线蕉综合影院首页| 成人福利在线视频| 精品一区二区三区免费看| 1卡2卡3卡精品视频| 波多野结衣在线一区二区| 国产免费一区二区三区| 欧美日韩导航| 色播亚洲婷婷| 91欧美在线| 久久福利一区二区| 国产精品外国| 午夜免费一区二区| 国产资源在线一区| youjizz.com日本| 久久久久久综合| 无码人妻aⅴ一区二区三区69岛| 国产精品久久久久久亚洲伦| www.99re7| 欧美性猛交xxxx乱大交| 中国女人真人一级毛片| 日韩小视频在线观看专区| 午夜小视频免费| 色老头一区二区三区| 黄色影院在线看| 日本一本a高清免费不卡| 国产精品视频一区视频二区| 国产精品一区二区不卡视频| 亚洲精品小区久久久久久| 亚洲国产欧美不卡在线观看| 女生裸体视频一区二区三区| www.爱色av.com| 久久精品免费看| 中文在线永久免费观看| 国产精品成人网| 日韩成人免费在线视频| 欧美日韩一区不卡| 少妇喷水在线观看| xvideos国产精品| aa视频在线观看| 国产中文字幕亚洲| 欧洲精品一区| 成年丰满熟妇午夜免费视频| 日韩精品1区2区3区| 69xxx免费视频| 国产精品美女久久久久久久 | 在线区一区二视频| www.国产免费| 国产一区二区三区18 | 欧美亚洲第一区| 日本成人精品| 日韩欧美第二区在线观看| 欧美久久99| 老司机久久精品| 久久精品综合网| 国产成人啪精品午夜在线观看| 欧美精品在线一区二区三区| 三级毛片在线免费看| 欧美精品性视频| 999精品嫩草久久久久久99| 久久综合狠狠综合久久综青草| 欧美精品自拍| www.亚洲自拍| 中文字幕+乱码+中文字幕一区| av大片免费在线观看| 欧美一级欧美三级在线观看| av在线电影免费观看| 欧美一级高清免费播放| 久久婷婷国产| 日韩精品在线观看av| 国产精品白丝av| 欧美肥妇bbwbbw| 欧美日韩视频在线观看一区二区三区| 婷婷综合激情网| 欧美精品福利在线| 伊人精品综合| 毛片在线视频观看| 国产99久久久国产精品潘金网站| 老熟妇高潮一区二区三区| 欧美久久久久久蜜桃| a中文在线播放| 国产成人久久久| 神马影视一区二区| 韩国一区二区av| 久久久九九九九| 18国产免费视频| 色偷偷av亚洲男人的天堂| 国产麻豆一区| 制服诱惑一区| 狠狠狠色丁香婷婷综合激情| 四虎884aa成人精品| 日韩一区国产二区欧美三区| 好操啊在线观看免费视频| 96pao国产成视频永久免费| 亚洲精品一区二区在线看| 6080国产精品| 一区二区成人在线| 欧美一区二区黄片| 777777777亚洲妇女| 亚洲丝袜美腿一区| 粉嫩虎白女毛片人体| 国产精品素人视频| 91精品国自产| 欧美日韩国产91| 老牛国内精品亚洲成av人片| 妞干网在线免费视频| 国产精品乱码妇女bbbb| a级片免费观看| 久久久亚洲成人| 九九精品在线| 中文字幕第88页| 一区二区三区影院| 亚洲欧美日韩动漫| 国产激情久久久| 欧美xxxx中国| 国产伦精品一区二区三区精品 | 毛片在线免费播放| 久久精品中文字幕| 亚洲日本va| 久久久久久久久久久久久久国产| 国产精品久久久久久福利一牛影视| av中文字幕免费| 国产91精品久久久久| 日韩免费av| wwwxx日本| 欧美亚洲一区二区在线观看| 综合久久2019| 欧美一级片免费观看| 国产综合一区二区| 日本中文字幕免费| 在线观看不卡av| 国产欧美啪啪| 在线观看亚洲色图| 午夜精品影院在线观看| 成全电影播放在线观看国语| 91传媒视频在线观看| 日韩和欧美的一区| 久久精品女人毛片国产| 中文字幕一精品亚洲无线一区| 96sao在线精品免费视频| 成年人在线观看视频免费| 一区二区三区久久|