go编译.so文件在python中执行

简介: 在python中调用go代码

go代码

package main

import(
    "C"
)

func main(){}

// 上面都是固定的,需要其他包的话自行导入

// 定义函数,可定义多个,每个函数都要export
//export HelloWorld
func HelloWorld(info *C.char) *C.char {

    GoStr := C.GoString(info)
    GoStr += "123"

    return C.CString(GoStr)
}

编译

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

编译后生成hello.so和hello.h,python中只需要so文件。

pythob中调用

# python3

import os
from ctypes import cdll, c_char_p

# 导包
lib = cdll.LoadLibrary(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'hello.so'))

# 获取函数
hello = lib.HelloWorld

hello.argtype = c_char_p
hello.restype = c_char_p

# 调用
print(hello(b"guido"))
目录
相关文章
|
12天前
|
编译器 测试技术 Go
Go语言的自给自足:编译自身的神奇之旅
Go语言的自给自足:编译自身的神奇之旅
|
7天前
|
Python
python生成excel文件的三种方式
python生成excel文件的三种方式
17 1
python生成excel文件的三种方式
|
13天前
|
JSON 数据格式 Python
【2023最新】Matlab 保存JSON数据集文件,并用Python读取
本文介绍了如何使用MATLAB生成包含数据和标签的JSON格式数据集文件,并展示了用Python读取该JSON文件作为训练集的方法。
35 1
|
4天前
|
前端开发 Python
使用Python+openpyxl实现导出自定义样式的Excel文件
本文介绍了如何使用Python的openpyxl库导出具有自定义样式的Excel文件,包括设置字体、对齐方式、行列宽高、边框和填充等样式,并提供了完整的示例代码和运行效果截图。
8 1
使用Python+openpyxl实现导出自定义样式的Excel文件
|
7天前
|
Linux Python Windows
Python PDF文件转Word格式,只需要3秒(附打包)
Python PDF文件转Word格式,只需要3秒(附打包)
26 3
Python PDF文件转Word格式,只需要3秒(附打包)
|
6天前
|
Python
Python——批量将PDF文件转为图片
Python——批量将PDF文件转为图片
16 2
|
8天前
|
存储 Python
Python 3秒自动帮你完成文件整理!
Python 3秒自动帮你完成文件整理!
16 3
|
6天前
|
Python
Python——将PPT和Word转为PDF文件
Python——将PPT和Word转为PDF文件
22 1
|
14天前
|
监控 数据挖掘 Python
python3解析wav文件获取dtmf值
【8月更文挑战第5天】这段Python代码示例展示了如何解析WAV文件并检测其中的双音多频(DTMF)信号。它首先打开并读取WAV文件的内容,接着利用`numpy`和`scipy`库计算频谱图。通过定义标准的DTMF频率对,并在频谱中寻找这些特定的频率组合,从而识别出DTMF值。此代码可用于电话系统监控或音频数据分析项目中,以自动化检测和处理DTMF信号。
|
9天前
|
数据可视化 文件存储 Python
【python】python基于tkinter的学生成绩管理系统(源码+数据文件)【独一无二】(二)
【python】python基于tkinter的学生成绩管理系统(源码+数据文件)【独一无二】(二)