둘이 같은건 아는데 님들은 뭘로씀?
memcpy vs CopyMemory
익명(211.36)
2015-05-28 13:21
추천 0
댓글 61
다른 게시글
-
씨발 난 니들이 진심으로 혐오스럽다고 [6]철구(210.99) | 15.05.28추천 0
-
철구 왜 여기서 계속 징징징징징징징 거리고있음 ?? [8]초봅(wckdisgood) | 15.05.28추천 0
-
api배우는데 이게 뭔질 모르겠다 [7]익명(39.7) | 15.05.28추천 0
-
계산기 또 수정했어 ! [10]초봅(wckdisgood) | 15.05.28추천 0
-
장고로 웹 해보신 분들 계심? [5]쉬운비밀번..(211.114) | 15.05.28추천 0
-
김치 it회사들특징.txt [5]철구(182.229) | 15.05.28추천 0
-
시발 하나부터 열까지 사기꾼새끼들 [1]철구(182.229) | 15.05.28추천 0
-
무서워요 C! [3]에어로홍(aerohong) | 15.05.28추천 0
-
형들 델파이 질문있어서 그러는데요... 정말 부탁드립니다. [5]호빈유(free815) | 15.05.28추천 0
-
악동뮤지션(Akdong Musician) - 크레센도(Crescendo) [1]에어로홍(aerohong) | 15.05.28추천 0
표준을 거부하는 MS를 욕함
memmove
CopyMemory 자체도 표준이지..운영체제 레벨에서 지원 하는 API 가지고 표준 운운하는건 뭐냐..POSIX같이 막 그런걸 기대한거임? 이것도 그렇게 보면 보면 Windows 표준 규격임..wine이나 이런 애들이 그거 기준으로 구현하잖엉..ㅋㅋㅋ
memcpy 는 잊어라.
솔까말 fflush(stdin)같은걸 욕해야지..이건 깔거리가 아님..
뭘 쓰든 CopyMemory는 RtlCopyMemory로 정의된 매크로고 RtlCopyMemory는 memcpy로 정의된 매크로니깐 성능은 다 똑같으니 난 둘 다 씀. 윈도우 API 프로그래밍할 때만 RtlCopyMemory를 쓰고 그 외 프로젝트엔 전부 memcpy를 씀.
memmove는 overlapped memory 지원한다는 장점이 있지만 그거 때문에 오히려 memcpy보다 더 느릴 거 같은데?
난 memmove는 필요할 때만 쓰고 memcpy를 선호하는 편.
요즘 memcpy 가 memmove 래핑하는 경우가 많더라.
성능? 똑같음. 사실 역방향증가한다고 느려진다거나 할 일 없어. 비교도 처음 한번만 일어난다고.
역방향 증가하면 cache에 조금 더 불리하지 않음?
캐시 prefetch도 증가방향에 따라 다르게 동작해용.
어차피 컴파일러가 얼마나 딘장이냐에 성능차이가 이론과 다를 수 있는데
memcpy 안에서 memmove 불림. 요즘 뜯어본 애들은 대개 그럼.
뭐 컴파일러 구현한 사람들이 그렇게 띨빡하게 만들지는 않았겠지만 그래도 전 memcpy를 버리기가 싫네요 ㅋㄷㅋㄷ
진짜 memcpy 안에서 memmove 불리는뎅...
걍 기억에서 지워 ㅋㄷㅋㄷ
안정성이 우선이야
memcpy 안에서 memmove 부르도록 만든 건 진짜 그 컴파일러 개발자 실력 허접인 가 보네요 ㅋㄷㅋㄷ
#define memcpy memmove 같이 하면 될 것을
그게 꼭 그렇진 않지.
바이너리에 네임테이블이 바뀌어있으면 개발자가 당황하잖아.
printf("%c", xxx);를 putchar(xxx);로 자동으로 최적화기가 바꿔주듯이 최적화 단계에서 그렇게 바꿔줘도 되는 거잖아요?
@ㅅㅅㅅ : 컴파일러 만들정도의 language laywer들이 #define으로 그렇게 정의하면 싸다구 맞음;;
건 옵션이지. 만약 lib를 만드는데 그렇게 해버리면
@ㅅㅅㅅ : 그정도로 똑똑하게 혹은 엄청나게 tricky한 컴파일러는 유지보수 어려울 것 같은디;; 그건 걍 구현자가 라이브러리 구현할때 내부에서 호출한거임..컴파일러 옵티마이저가 한게 아니라..
그냥 name table만 다르게 주고 주소 값은 똑같이 한다던가. DLL에서 Function Forwarding 개념처럼.
아무리 생각해도 그냥 memcpy(...){return memmove(...);} 식으로 짠 건 이해가 안가네요.
차라리 inline 함수로 만들던가.
memcpy나 memmove는 C언어 표준인데 POSIX는 무슨 ㅋㅋ
ㅅㅅㅅ//던가->든가
ㅋㅋㅋㅋ : 아니..너님 글 싸질러논거 봐..CopyMemory 가지고 딴지 건거 아님..그거가지고 얘기한거야..아..난독임?
이거 요즘 유행인 유체이탈 화법임?
문법충 어서와 /ㅁ/
얘 아까부터 왜 자꾸 이러냐 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 졸라 웃기네 ㅎㅎ
난 문법, 맞춤법 충 넘 좋음.
@ㅋㅋㅋㅋ : 그리고 논외로 뭐 알겠지만 POSIX내에 ISO C도 포함된다..memmove나 memcpy 이런것도 다 POSIX내에 포함되기는 함..진짜 레알 너의 진심이 궁금하다..어차피 내가 뭔 소리하는지 뻔히 알면서 걍 까는거임?
@ㅋㅋㅋㅋ : 진심 어그로 끌고 싶으면 차라리 일베를 해..
@ㅋㅋㅋㅋ : 너님이 젤 웃김..너님이 젤 첨 댓글 싸놓은거 보고 내가 얘기한거지..이렇게 유체이탈해서 이러면 곤란함..
한심해서 부연설명까지 해준다 표준이라는건 포터빌리티의 문제라 볼 수 있는데 분명 언어자체에 해당 기능이 있는데 왜 또 같은 함수를 또 만드냐 이거지 그게 표준을 거부하는 행위라서 욕한다고 멍청아
@ㅋㅋㅋㅋ : 에휴..한심타..win32api를 c에서만 쓰냐? os api 라니까..(뭐 이것도 원글에 대해서 너무 OT적이긴 한듯?;;)
@ㅋㅋㅋㅋ : 어째튼 니가 말한 의도는 이해했음..나도 거기에 일부는 동의함..
@ㅋㅋㅋㅋ : 글타고 그게 표준을 거부한다는 뉘앙스는 좀 아니라고 봄..그래서 내가 너님의 의도를 잘못 이해했던거고..
@ㅋㅋㅋㅋ : 뭐 너님의 표현 자체가 내가 보기에는 너님 기준에서 합당할진 모르겠는데 일반인이 보면 당연히 오해할것같은데? 멍청이라는 표현은 좀 그런듯? 그리고 지금 약간 OT로 가는 이유가 별로 생산적인 논쟁인건 아닌듯..어차피 뭐 너나 나나 둘다 서로 뭘 얘기하는지 아는건데 뭐 논쟁하는게 웃기기도 하고..뭐 디씨니까 그런거다라고 생각하련다..뭐 이러면 또 정신승리니 어쩌니 하겠지..ㅋㅋㅋ
내가 자기글 이해 못했다면서 글을 싸지르네 난독이네 온갖 개소리하더니 본인이 애초 잘못 이해핬다는걸 인정하면서도 멍청이라는 표현에 화내네 ㅋㅋ
@ㅋㅋㅋㅋ : 야임마..진짜 아우..-_- 인정할건 인정한거지..너님 진짜 성격에 문제 있는거 아님?
@ㅋㅋㅋㅋ : 내가 얘기한건 너님은 그런 의도로 얘기했겠지만 나를 비롯한 일반인이 그 문장만 보면 OS API인데 왜 표준 운운함? 이럴거라고..그래서 내가 오해한거고 그건 인정한다는 거였음..
@ㅋㅋㅋㅋ : 내가 너님 의도를 이해했다고 해서 너님 난독이니 이런게 사라지는건 아님..
전혀 별개의 문제임..
하여튼 디시니까 그런거라고 생각한다 ㅋ 인정하면서도 욕이나 하려는 너같은 애들 말야 인정할껀 인정하면 애초에 딴소리부터 안해야지 이제서야 이해해놓고 끝까지 욕설하려고 지랄이네 ㅋㅋㅋㅋ
@ㅋㅋㅋㅋ : 그리고 너님도 봐봐..누가 글 싸질렀는데 잘못 이해했어..얘기하다보니 의도를 파악하고 아..그래 너님 의견에 동의해..근데 멍청이니 이런 표현이 좀 거슬리면 그런 얘기할 수 있잖음?
@ㅋㅋㅋㅋ : 내가 욕설을 언제함? 그리고 이후 너님의 의도를 파악하고 나서 딴소리한거 없는데?
애초에 니가 오해하게끔 두리뭉실하게 표현하니까 오해를 한거지..
너님 의도를 제대로 파악해서 아..거기에 동의한다는 말 자체가 내가 지금까지 써놓은 글이 뻘글임..이런걸 인정한건 아닌데..아..진심 너의 의도가 궁금하다..
내가 이 글에 댓글 싸질러놓은거 중에 잘못 얘기한건 없음..
너님의 의도를 오해해서 다른 관점에서 얘기한거지..내용 자체는 전혀 딴소리가 아니여..
너님 보면 좀 성격 특이하다..디씨에서만 그런거면 괜춘한데 실제로도 그러면 좀 고민해봐..레알..
내가 미리 몇 번 조언했을텐데...
랩이 답지 않게 현명하지않아. : )
끼리끼리 논다더만 개웃기네 ㅎㅎ
http://dblack.tk
커뮤니티 사이트 입니다 많은 이용 부탁 드립니다.