行云

行至水穷处,坐看云起时。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2012年3月14日

摘要: 如何传递一个数组给动态库中的函数,并通过传递的数组返回字符串呢?这里演示一种间接的方法。不知道有没有更直接的方法?1 动态库中的函数定义:struct ss { char name[10]; int age; };void GetString(struct ss *p){ strcpy(p->name, "Hello dll."); p->age = 25;}编译生成dll.so: gcc -fPIC -O2 -shared dll.c -o dll.so2 python中调用实例:from ctypes import *class ss(Structure): 阅读全文
posted @ 2012-03-14 15:46 windflying 阅读(6997) 评论(0) 推荐(0) 编辑

摘要: 首先,创建一个简单的动态库编程生成dll.so: gcc -fPIC -O2 -shared dll.c -o dll.soC文件:dll.c 如下#include <stdio.h>struct param { int a; int b; char c; float f; int arr[3]; }; void print0(struct param arg){ printf("in print:\n"); printf("a: %d\n", arg.a); printf("b: %d\n", arg.b); print 阅读全文
posted @ 2012-03-14 10:39 windflying 阅读(3790) 评论(0) 推荐(0) 编辑