|
이용태 님이 쓰신 글 :
: 프로그램을 짜는 중.. memset()를 이용한 데이터 복사를 하고 있습니다.
:
: 예를 들면 다음과 같습니다.
:
: 다음과 같은 10개의 데이터를 갖고 있는 a[10]라는 배열이 있다고 해보죠.
:
: a[10]
: ___________________
: 0|1|2|3|4|5|6|7|8|9
: -------------------
:
: 그리고 a[]보다 10배 큰 b[100]이 있다고 해보죠.
:
: a[]의 각 요소를 memset()를 이용하여 b[]에 다음과 같이 복사합니다.
:
: for(int i = 0; i < 10; i++)
: memset(b, a[i], 10);
:
: 이렇게 한다면 b[]엔 다음과 같이 데이터가 들어가 있겠죠..
:
: b[200]
: __________________________________________________________________________________________________
: 0|0|0|0|0|0|0|0|0|0|1|1|1|1|1|1|1|1|1|1|1|----중간생략---8|8|8|8|8|8|8|8|8|8|9|9|9|9|9|9|9|9|9|9|
: --------------------------------------------------------------------------------------------------
:
: 그런데... 이게 전체 memset()하는 횟수가 적을땐 상관이 없는데... memset()하는 횟수가 커지게 되면 시간이 많이 걸리게 되더군요..
:
: 만약 memset() 한번 하는 시간이 0.001초라 그러면... 2000번 하면... 2초가 걸리게 됩니다.
:
: 이렇게 되면 한번 작업 할때마다 2초씩 기달려야 하니... 대략 짜증이 납닌다.
memset이 아니고 memccpy 쓰면 되겠네요
:
: memset()보다 더 빨리 복사할 수 있는 함수가 있을까요?
:
: 또는 획기적으로 속도를 올릴 수 있는 방법이 있으면 좀 알려주시면 정말로.. 정말로 감사하겠습니다..
:
: 부탁드립니다... (__)
-----------------------------------------
memset이 아니고 memccpy 쓰면 되겠네요
포인트로 복사하세요
|