似乎代碼里沒有看到你沒有加載DLL啊。
另外你在c里直接改寫python的內存可能不太妥當。通常是在C里構造后,再返回到python里去。從你的程序上看,調用完Thin后,你的變量p似乎變成了空指針。ctypes調用DLL通常都是別人做好的DLL,沒有辦法才自己去調用。這里有好多麻煩事情。如果是自己寫代碼,通常會建議你用cython這個模塊。很容易就實現接口。你也不用擔心這些變量類型與接口封裝的問題。另外我印象中dll似乎與編譯器也有關系。用VC可能容易些。用BC,或者是GCC就麻煩些。另外還有版本的問題,64位與32位不能通用。原則上講,你這種用法,也不是不可以,可能還是哪個地方沒有弄對。比如編譯參數。你可以試試用returntype把數據帶回來。而不是用指針寫內存。因為p目前按理它是常量,很有可能調用機制中,不會讓你改寫它。