-1
私のPythonコードがC++コードのlibを実行しているときに問題が発生しました。私はそれが私のC + +をやっているのpythonコードかどうかを把握しているように見えることはできません。どんな助けでも大歓迎です。PythonでラップされたときにC++コードが終了しない
はここにここに私のpython #Iはsys.exit()を呼び出してみましたが、それが終了しません、私のCPP
class Led {
public:
void snowled()
{
LinuxGPIO gpio23(23);
gpio23.SetDirection(true);
bool on = true;
for (;;)
{
printf("Switching %s the LED...\n", on ? "on" : "off");
gpio23.SetValue(on);
on = !on;
sleep(1);
}
}
};
extern "C" {
Led* Led_new(){ return new Led(); }
void Led_snowled(Led* led){ led->snowled(); }
}
です。
import sys
import time
from ctypes import cdll
lib = cdll.LoadLibrary('./snowled.so')
class Led(object):
def __init__(self):
self.obj = lib.Led_new()
def snowled(self):
lib.Led_snowled(self.obj)
def sleeper(self):
num = float(1)
time.sleep(num)
def main(self):
light = Led()
light.snowled()
def stop_running(self):
try:
sys.exit()
except:
print(sys.exc_info()[0])
if __name__=='__main__':
Led().main()
Led().stop_running()
ループが無限であることを考えると、あなたの実際の質問は何か分かりません。 –
コードに文書化コメントを追加してください。あなたのPythonスクリプトはあなたがしたいと言っていることをしていないようです。 –