1樓:猶志
是想採用python呼叫c寫成的dll呢?
還是想將c寫的dll封裝成python模組呢??
如果是前者可以使用ctypes,如果是後者可以使用swig或者boost進行封裝
python 呼叫c++程式, c++程式如何返回陣列給python
2樓:大話殘劍
c/c++不能直bai接返回一個數du組。這是由於在c/c++中,陣列不zhi是一dao種型別,因此不專能被直接返回。一般有
3樓:匿名使用者
你說的呼叫是指什麼,單純拿標準輸出的結果?
那你得吧資料以一些格式當成字串輸出,然後再用python解析字串還原成你需要的格式。
請問python中如何傳遞一個字串給c程式dll中c函式,同時c函式如何返回一個字串給python
4樓:匿名使用者
用ctypes,
>>> from ctypes import *
>>> libc=cdll.msvcrt
>>> libc.printf("hello %s\n","world")
hello world
12>>>
>>> p = create_string_buffer("hello", 30)
>>> n=libc.sprintf(p,"hello %s\n","world")
>>> n
12>>> print p
>>> dir(p)
['__class__', '__ctypes_from_outparam__', '__delattr__', '__delitem__', '__delsl
ice__', '__dict__', '__doc__', '__format__', '__getattribute__', '__getitem__',
'__getslice__', '__hash__', '__init__', '__len__', '__module__', '__new__', '__r
educe__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__setslice
__', '__setstate__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__',
'_b_base_', '_b_needsfree_', '_length_', '_objects', '_type_', 'raw', 'value']
>>> p.value
'hello world\n'
>>>
python定義函式最後返回值是一個陣列,請問呼叫函式的時候怎麼將結果取出?
5樓:
使用返回值的方法有兩種:
可以直接把呼叫的函式作為變數使用
可以用調專用函式給一個變數賦值
第一種屬情況見如下例子:
l = [1,2,3,4,5]
def add_element(list, element):
return list
print add_element(l, 6)# >>> [1,2,3,4,5,6]
print add_element(l, 6)[5]# >>> 6
第二種情況:
l1 = add_element(l, 6)print l1
# >>> [1,2,3,4,5,6]
print l1[5]
# >>> 6
注意: 以上例子都是應用於python 2.x
C中dll該如何宣告及呼叫,C 中如何呼叫DLL檔案?
dllimport twain 32.dll entrypoint 1 private static extern twrc dspxfer in,out twidentity origin,in twidentity dest,twdg dg,twdat dat,twmsg msg,in,out ...
dll是什麼軟體編寫的裡面的內容是什麼
樓上真牛,從 複製來的,不過挺具體的,是微軟的 dll是dynamic link library的縮寫,意為動態連結庫。dll檔案一般被存放在c windowssystem目錄下。dll是一個包含可由多個程式同時使用的 和資料的庫。在windows中,許多應用程式並不是一個完整的可執行檔案,它們被分...
c 裡面return的用法,c 裡面的return到底有什麼用?什麼時候需要用到
具體的 舉例說明吧 比較兩個數的大小,返回1,代表x y,返回0代表兩個數相等,返回 1,代表xy if x y if xy?1 1 int main void 現在來說return return 有兩種 1,函式結束不滿足當前的值return,2,函式執行晚可以用return 比如 void ad...