나는 bytes
객체를 가리키는 파이썬 memoryview
을 가지고 있는데,이 객체는 cython에서 일부 처리를 수행하고 싶습니다.바이트 객체에 파이썬 메모리 뷰에 대한 포인터를 얻는 것
내 문제는 다음 bytes
객체가 쓸 수 없기 때문에
- 는 사이 썬은 그것에서 형식화 (사이 썬) memoryview을 구성 할 수 없습니다
- 내가 포인터를 얻을 수 없기 때문에 나도 포인터를 사용할 수 없습니다 에서
다음 memoryview는
예 시작 BufferError: memoryview: underlying buffer is not writable
하나가이 문제를 해결 않습니다 방법 : 파이썬 : 사이 썬에서
array = memoryview(b'abcdef')[3:]
:
cdef char[:] my_view = array
Cannot take address of Python variable
는 메시지와 함께 런타임에 실패
cdef char * my_ptr = &array[0]
는 메시지와 함께 컴파일에 실패 ?
첫 번째 질문 : 어떻게 당신이 '배열'인수를 선언합니까 Cython 기능? –
@PierredeBuyl 파이썬 객체로 전달합니다. 다음과 같이 : Cython :'def myfunc (arr) : pass' – ARF
안녕하세요, 일부 문서를보고 인터넷 검색을 한 다음,받은 모든 정보가 메모리보기이면 읽기 - 쓰기 액세스가 어려워 보입니다. 먼저 메모리 뷰가 어떻게 만들어 졌는지 언급해야합니다.대신에'Py_buffer' 구조체를 얻을 수 있다면 도움이 될 것입니다. https://docs.python.org/3.5/c-api/buffer.html –