欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

go編譯so庫讓python引用編譯后沒有.h文件的問題

 更新時(shí)間:2024年02月11日 10:42:21   作者:戰(zhàn)爭迷霧  
有時(shí)python需要引用go的一些開源庫,這時(shí)就需要go編譯成python可調(diào)用的庫,本文給大家介紹了go編譯so庫讓python引用,編譯后沒有.h文件的問題,需要的朋友可以參考下

有時(shí)python需要引用go的一些開源庫,這時(shí)就需要go編譯成python可調(diào)用的庫

go代碼

package main//包必須是main

import(
	"C"http://需要C庫的支持,方便類型轉(zhuǎn)換
)

func main(){}

//非常重要,export 表示把go的函數(shù)映射到python的函數(shù)調(diào)用
//如果沒有export,那么就不能生成.h文件,python也就無法調(diào)用該函數(shù)

//export HelloWorld
func HelloWorld() *C.char {
	return C.CString("i'm zero wood")
}

非常重要,export 表示把go的函數(shù)映射到python的函數(shù)調(diào)用
如果沒有export,那么就不能生成.h文件,python也就無法調(diào)用該函數(shù)

go編譯成python調(diào)用庫,編譯環(huán)境是ubuntu18.04.1 LTS

編譯命令

go build -buildmode=c-shared -o testpythoncall.so testpythoncall.go

會生成testpythoncall.h testpythoncall.so文件

之后是python調(diào)用testpythoncall.so中的函數(shù)

import ctypes

lib = ctypes.CDLL("./testpythoncall.so")

helloWorld = lib.HelloWorld

helloWorld.restype = ctypes.c_char_p

print(helloWorld())

到此這篇關(guān)于go編譯so庫讓python引用編譯后沒有.h文件的問題的文章就介紹到這了,更多相關(guān)go編譯so庫沒有.h文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • go語言Pflag Viper Cobra 核心功能使用介紹

    go語言Pflag Viper Cobra 核心功能使用介紹

    這篇文章主要為大家介紹了go語言Pflag Viper Cobra 核心功能使用介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • 詳解Go語言中init的使用與常見應(yīng)用場景

    詳解Go語言中init的使用與常見應(yīng)用場景

    Go?中有一個(gè)特別的?init()?函數(shù),它主要用于包的初始化,這篇文章將以此為主題介紹?Go?中?init()?函數(shù)的使用和常見使用場景,希望對大家有所幫助
    2024-02-02
  • 徹底理解golang中什么是nil

    徹底理解golang中什么是nil

    這篇文章主要介紹了golang中的nil用法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • Go中sync?包Cond使用場景分析

    Go中sync?包Cond使用場景分析

    Cond?是和某個(gè)條件相關(guān),在條件還沒有滿足的時(shí)候,所有等待這個(gè)條件的協(xié)程都會被阻塞住,只有這個(gè)條件滿足的時(shí)候,等待的協(xié)程才可能繼續(xù)進(jìn)行下去,這篇文章主要介紹了Go中sync?包的Cond使用場景分析,需要的朋友可以參考下
    2023-03-03
  • 關(guān)于Golang變量初始化/類型推斷/短聲明的問題

    關(guān)于Golang變量初始化/類型推斷/短聲明的問題

    這篇文章主要介紹了關(guān)于Golang變量初始化/類型推斷/短聲明的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • go語言題解LeetCode228匯總區(qū)間示例詳解

    go語言題解LeetCode228匯總區(qū)間示例詳解

    這篇文章主要為大家介紹了go語言題解LeetCode228匯總區(qū)間示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • 深入解析Sync.Pool如何提升Go程序性能

    深入解析Sync.Pool如何提升Go程序性能

    在并發(fā)編程中,資源的分配和回收是一個(gè)很重要的問題。Go?語言的?Sync.Pool?是一個(gè)可以幫助我們優(yōu)化這個(gè)問題的工具。本篇文章將會介紹?Sync.Pool?的用法、原理以及如何在項(xiàng)目中正確使用它,希望對大家有所幫助
    2023-05-05
  • Go語言范圍Range的具體使用

    Go語言范圍Range的具體使用

    range關(guān)鍵字在for循環(huán)中用于遍歷數(shù)組,切片,通道或映射的項(xiàng)目,本文主要介紹了Go語言范圍Range的具體使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • Golang使用crypto/ed25519實(shí)現(xiàn)數(shù)字簽名和驗(yàn)證

    Golang使用crypto/ed25519實(shí)現(xiàn)數(shù)字簽名和驗(yàn)證

    本文將深入探討如何在?Golang?中使用?crypto/ed25519?進(jìn)行數(shù)字簽名和驗(yàn)證,我們將從基本原理開始,逐步引導(dǎo)讀者了解生成密鑰對、進(jìn)行數(shù)字簽名,以及驗(yàn)證簽名的具體過程,希望對大家有所幫助
    2024-02-02
  • Go語言Gin框架前后端分離項(xiàng)目開發(fā)實(shí)例

    Go語言Gin框架前后端分離項(xiàng)目開發(fā)實(shí)例

    本文主要介紹了Go語言Gin框架前后端分離項(xiàng)目開發(fā)工程化實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11

最新評論