long long 변수와 unsigned int 변수를 python에 Return 받아야 하는데, 접근 개념을 모르겠습니다.
조회수 508회
안녕하세요.
C++ 라이브러리에 GetData
함수를 통하여 필요한 데이터를 받고 있습니다.
제가 원하는 것은 새로운 함수를 추가하여 필요한 값 두 개를 더 받아야 합니다.
그 두 개는 C++ GetData
함수에서만 받을 수 있습니다. (Temp1, Temp2 값)
하지만, GetData
함수에서 Buffer를 리턴하고 있어서 해당 Temp1, Temp2 값을 리턴 받을 수 없습니다.
그래서 생각한 방법이 Width, Height를 담을 전역변수를 선언하고 전역변수의 값을 다른 새로운 함수에 (GetTemp1, GetTemp2) return 하는 방식을 생각했습니다.
메인 Python에서는 어차피 thread 내에서 GetData
가 사이클 돌고 있기 때문에
GetTemp1
, GetTemp2
함수만 추가하면 되겠구나라고 했지만
정상적으로 동작하지 않고 Kill 됩니다.
설명을 더 자세하게 하기 위해 예로 호출되는 순서 로직을 설명하겠습니다.
C++ 예
long long m_dTemp1 = 0;
unsinged int m_dTemp2 = 0;
bool GetData()
{
...
...
mResult = Get.Buffe;
m_dTemp1 = Get.Temp1;
m_dTemp2 = Get.Temp2;
return = mResult;
}
long long GetTemp1()
{
long long mTemp1 = m_dTemp1;
return mTemp1;
}
unsigned int GetTemp2()
{
unsigned int mTemp2 = m_dTemp2;
return mTemp2;
}
Python
Thread
while True;
mSuccess = Test.GetData(....)
mTemp1 = Test.GetWidth # long long Temp1 얻기
mTemp2 = Test.GetHieght # unsigned int Temp2 얻기
위 예로 로직을 구현하는데,
long long
, unsigned int
변수를 전역변수로 사용하면
보호받을 수 없는 것인지...
제가 잘못 생각하고 있다면 틀린 부분을 수정 부탁드립니다.
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
댓글 입력