1
내 C++ 코드는 파이썬 인터프리터를 실행하여 외부 파이썬 파일을 읽으며, C API가 파이썬 2와 파이썬 3 문자열을 모두 허용하도록합니다.파이썬 2 및 3과 호환되는 C API를 사용하여 파이썬 str을 추출합니다.
파이썬 2.7.11이면 PyString_Check
및 PyString_AsString
을 사용합니다.
파이썬 3.5.2의 경우, PyUnicode_Check
과 PyUnicode_AsUTF8String
을 사용합니다.
이전 기술은 python 3.x에서 사용되지 않습니다.
후자가 두 버전과 호환 될 것으로 예상했습니다. 그러나 PyUnicode_Check
은 str
인수의 경우 파이썬 2에서 false
을 반환합니다. 또한 PyUnicode_AsUTF8String
은이 경우 세그먼트 오류를 제공합니다.
내가 뭘 잘못하고 있니?