1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# memmove(dst, src, size) == memcpy(dst, src, size)
# usage of pointer equals to array
 
src = (c_char*100)(1,2,3,4# array declare
 
# array
pStr = c_char_p(b'kkkk'# pointer to b'hello' declare
print(pStr.value) # output: b'kkkk'
memmove(pStr, src, sizeof(pStr))
print(pStr.value) # output: 1,2,3,4
 
dst = (c_char*100)(5,5# array declare
print(dst.value) # output: 5,5
memmove(dst, src, sizeof(dst))
print(dst.value) # output: 1,2,3,4
 
cs


memmove의 첫번째, 두번째 파라미터는 data의 address(int)로도 사용가능하다

memmove(ctype, ctype, int)

memmove(int, int, int)


이것은 numpy와 ctypes를 함께 사용할 때 유용하다

ndarr.ctypes.data를 통해 array의 address를 얻을 수 있고, 이것으로 memmove를 사용할수 있기 때문이다

'Language > python' 카테고리의 다른 글

[python] skimage ndarray shape (HWC, CHW)  (0) 2017.12.14
[python] ctypes API example  (0) 2017.12.13
[python] REST API request using python  (0) 2017.12.09
[python] random list with no duplicates  (0) 2017.12.08
[python] selenium install  (0) 2017.11.30

WRITTEN BY
hojongs
블로그 옮겼습니다 https://hojongs.github.io/