C python extension


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()

备注:本文仅供参考!!各位见仁见智


文章作者: woniu0126
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 woniu0126 !
评论
  目录