資源簡介
使用的python版本為2.7.14,64bit
使用vs2015編譯dll\so庫,編譯設置為release版本x64
壓縮包中包括python調dll庫的源碼和vs2015生成dll的源碼及工程
如果自己使用的以上任意版本不同,請自行調整,盡量保持使用的位數一致
代碼片段和文件信息
#coding=utf-8
import?os
import?sys
from?ctypes?import?*
def?CallC():
????dll?=?CDLL(r“cdll\testdll\x64\Release\testdll.dll“)
????res?=?dll.fntestdll()
????print?res
????#int?add(int?a?int?b)
????res?=?dll.add(10?59)
????print?res
????#double?mulf(float?a?float?b)
????dll.mulf.restype?=?c_double
????dll.mulf.argtypes?=?(c_float?c_float)
????res?=?dll.mulf(123.45?678.9)
????print?res
????#double?cmulf(float?a?char?b)
????dll.cmulf.restype?=?c_double
????dll.cmulf.argtypes?=?(c_float?c_byte)
????res?=?dll.cmulf(123.45?100)
????print?res
????#int?stringcat(char?*a?char?*b)
????dll.stringcat.restype?=?c_int
????dll.stringcat.argtypes?=?(c_char_p?c_char_p)
????a?=?c_char_p(“acd“)
????b?=?c_char_p(“abd“)
????res?=?dll.stringcat(a?b)
????if?res?>?0:
????????print?“a?>?b“
????elif?res?0:
????????print?“a?????else:
????????print?“a?=?b“
????#void?rs(int?*a?int?*b)
????dll.rs.restype?=?None
????dll.rs.argtypes?=?(POINTER(c_int)?POINTER(c_int))
????a?=?c_int(12)
????b?=?c_int(12)
????dll.rs(byref(a)?b)
????print?a.value
if?__name__?==?‘__main__‘:
????CallC()
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
????..A..H.?????31744??2018-01-18?11:48??20.Ctypes\cdll\testdll\.vs\testdll\v14\.suo
?????文件???20447232??2018-01-17?16:26??20.Ctypes\cdll\testdll\ipch\TESTDLL-b1e78c37\TESTDLL-613df006.ipch
?????文件???20447232??2018-01-17?16:06??20.Ctypes\cdll\testdll\ipch\TESTDLL-b1e78c37\TESTDLL-7fe5ef40.ipch
?????文件???20250624??2018-01-17?16:05??20.Ctypes\cdll\testdll\ipch\TESTDLL-b1e78c37\TESTDLL-a86811e2.ipch
?????文件???20250624??2018-01-17?13:14??20.Ctypes\cdll\testdll\ipch\TESTDLL-b1e78c37\TESTDLL-f8330228.ipch
?????文件???????9216??2018-01-17?16:05??20.Ctypes\cdll\testdll\Release\testdll.dll
?????文件????????687??2018-01-17?16:05??20.Ctypes\cdll\testdll\Release\testdll.exp
?????文件?????141635??2018-01-17?16:05??20.Ctypes\cdll\testdll\Release\testdll.iobj
?????文件???????1984??2018-01-17?16:05??20.Ctypes\cdll\testdll\Release\testdll.ipdb
?????文件???????1704??2018-01-17?16:05??20.Ctypes\cdll\testdll\Release\testdll.lib
?????文件?????856064??2018-01-17?16:05??20.Ctypes\cdll\testdll\Release\testdll.pdb
?????文件????????389??2018-01-17?13:14??20.Ctypes\cdll\testdll\testdll\dllmain.cpp
?????文件???????1488??2018-01-17?13:14??20.Ctypes\cdll\testdll\testdll\ReadMe.txt
?????文件??????47980??2018-01-17?16:05??20.Ctypes\cdll\testdll\testdll\Release\dllmain.obj
?????文件?????289566??2018-01-17?16:05??20.Ctypes\cdll\testdll\testdll\Release\stdafx.obj
?????文件????????500??2018-01-17?16:05??20.Ctypes\cdll\testdll\testdll\Release\testdll.log
?????文件???????5968??2018-01-17?16:05??20.Ctypes\cdll\testdll\testdll\Release\testdll.obj
?????文件????7667712??2018-01-17?16:05??20.Ctypes\cdll\testdll\testdll\Release\testdll.pch
?????文件???????2524??2018-01-17?16:05??20.Ctypes\cdll\testdll\testdll\Release\testdll.tlog\CL.command.1.tlog
?????文件??????25998??2018-01-17?16:05??20.Ctypes\cdll\testdll\testdll\Release\testdll.tlog\CL.read.1.tlog
?????文件???????1364??2018-01-17?16:05??20.Ctypes\cdll\testdll\testdll\Release\testdll.tlog\CL.write.1.tlog
?????文件???????1684??2018-01-17?16:05??20.Ctypes\cdll\testdll\testdll\Release\testdll.tlog\li
?????文件???????4004??2018-01-17?16:05??20.Ctypes\cdll\testdll\testdll\Release\testdll.tlog\li
?????文件????????932??2018-01-17?16:05??20.Ctypes\cdll\testdll\testdll\Release\testdll.tlog\li
?????文件????????210??2018-01-17?16:05??20.Ctypes\cdll\testdll\testdll\Release\testdll.tlog\testdll.lastbuildstate
?????文件????????390??2018-01-17?16:05??20.Ctypes\cdll\testdll\testdll\Release\testdll.tlog\testdll.write.1u.tlog
?????文件?????495616??2018-01-17?16:05??20.Ctypes\cdll\testdll\testdll\Release\vc140.pdb
?????文件????????211??2018-01-17?13:14??20.Ctypes\cdll\testdll\testdll\stdafx.cpp
?????文件????????315??2018-01-17?13:14??20.Ctypes\cdll\testdll\testdll\stdafx.h
?????文件????????240??2018-01-17?13:14??20.Ctypes\cdll\testdll\testdll\targetver.h
............此處省略74個文件信息
評論
共有 條評論