我正在学习python,遇到了一些奇怪的行为。我正在试验ctypes和一个自制的(非常简单的)DLL。
from ctypes import *
myLib = CDLL("libDlltest")
myLib.hello()
myLib.goodbye()
print 'I am a line'
myLib.goodbye()
我已经根据配置了eclipse
this
hello()和goodbye()实现为
EXPORT void hello(void) {
printf ("Hello\n");
}
EXPORT void goodbye(void) {
puts ("Goodbye");
}
然而,当我从程序中得到的输出是:
I am a line
Hello
Goodbye
Goodbye
从库函数打印的文本出现在程序执行完成之后或之前,而python“print”打印的文本出现在第一位,尽管它被称为第二位。
我无法想象这是我想要的行为。不管怎么说,我可能是在做错事的人,所以: