0
我試圖學習python並遇到一些奇怪的行爲。我正在嘗試ctypes和一個自制的(非常簡單的)DLL。使用C模塊的Python執行順序
這是Python腳本我試圖運行:
from ctypes import *
myLib = CDLL("libDlltest")
myLib.hello()
myLib.goodbye()
print 'I am a line'
myLib.goodbye()
我根據根據this指導,構建庫配置日食,當它沒有工作,我建立了它在Cygwin的與GCC。
你好(),再見()作爲
EXPORT void hello(void) {
printf ("Hello\n");
}
EXPORT void goodbye(void) {
puts ("Goodbye");
}
(其中,出口的是,你可以在上述指南中閱讀更多關於宏)
然而實現,它開始變得怪異當我得到的程序是:
I am a line
Hello
Goodbye
Goodbye
如果您沒有注意到,打印輸出的順序不正確。 從程序庫函數打印的文本出現在程序執行完成之後或之前,並且由python'print'打印的文本出現在第一個,儘管被稱爲第二個。
我無法想象這是預期的行爲。我可能是一個在這裏做錯了,所以:
- 我能做什麼錯?
- 有什麼方法可以解釋這種行爲嗎?
謝謝,解決了! – Nubsis 2010-06-16 14:34:26