C python extension
https://docs.python.org/3/extending/extending.html#building-arbitrary-values
https://www.digitalocean.com/community/tutorials/calling-c-functions-from-python
https://www.programcreek.com/python/?CodeExample=load+dll
https://docs.python.org/3/c-api/module.html
https://docs.python.org/3/extending/building.html
https://blog.csdn.net/magictong/article/details/3075478
https://book.pythontips.com/en/latest/python_c_extension.html
https://dev.to/petercour/call-dll-functions-from-python-jo4
顺便把vs2022下回来了,配个主题
The Doki Theme - Visual Studio Marketplace
The Doki Theme - Visual Studio Marketplace
Release v88.1-1.0.2 - Darling · doki-theme/doki-theme-visualstudio (github.com)
Example
sample.c
#include<stdio.h> int add_int(int num1, int num2) { return num1 + num2; } float add_float(float num1, float num2) { return num1 + num2; } int print() { printf("test print"); return 1; } int main() { printf("main"); return 0; }
makefile 使用 windows 下的gcc(minGW TDM-GCC-64)
gcc -c sample.c gcc -shared -o sample.dll sample.o -Wl,--out-implib,libsample.a
test.py
from ctypes import * from ctypes.util import find_library if __name__ == '__main__': adder = cdll.LoadLibrary('./add.dll') model = adder.add_int num = model(1,2) print(num) adder.main()
备注:本文仅供参考!!各位见仁见智