야 이거 윈도우에서 컴파일 되냐?
ㅓㅏㅣ(210.107)
2012-01-26 15:10
추천 0
댓글 37
다른 게시글
-
C언어 도와주세요 ㅋ [9]ddd(210.107) | 12.01.26추천 0
-
생각해보니 대딸방 어플 만들면 잘나갈듯dlbo(tur5man) | 12.01.26추천 0
-
아씨 밥먹었는데 배고프다 [2]dlbo(tur5man) | 12.01.26추천 0
-
회의감이 들어요 ㅠasd(218.237) | 12.01.26추천 0
-
DC겔 리스트에서 프겔 왜 없어졌냐? [2]개심심(61.73) | 12.01.26추천 0
-
숫자 5개 입력받아서 작은 차례로 정렬하는거 이렇게 만드는거 맞나 [12]ㅁㅁㅈ(61.251) | 12.01.26추천 0
-
[국비무료]자바 안드로이드 HTML5 하이브리드국비지원 안내wlskrksmsw..(alcado) | 12.01.26추천 0
-
아무리 그래도 아이디어를 달라니.... [3]ㅁㅈ다(116.125) | 12.01.26추천 0
-
이거 풀어주면 아이디어 하나 공급해준다. [24]로또로(218.159) | 12.01.26추천 0
-
아이디어 주신형들 감사해여.... [20]AnonyMous(tuniti2) | 12.01.26추천 0
치킨 사주면 말해준다
쳇 치킨따위도 안주고 잠수타다니
근데 나 이해안되는게 mymemcpy((void *)&dst, (void *)&src, sizeof(src)); 여기. void * 쓰는 이유가 뭔데 (void *) 로 캐스팅은 뭐하러 넣었지. 명확히 하려고?
윤드림횽꺼인듯...
그런거 같긴 한데 명확히 하는게 좀 애매함 저 코드 ㅋㅋㅋㅋㅋㅋ 뭐는 명확히 하고 뭐는 대충 넣고 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ
그리고 잘되는듯...
컴파일러마다 다름 ㅋㅋㅋㅋㅋㅋㅋㅋ
어느 컴파일러서 되는지는 말 안하겠음 난 치킨이 고픈 남자니까 ㅋㅋㅋㅋㅋㅋㅋ
신기한 컴파일러인듯
윤드림횽모르냐.. 이것들아....
윤드림횽이고 뭐고 저거 바로 컴파일하면 안돌아가는 컴파일러도 있음 ㅋㅋ VS도 버전따라 다름 ㅋㅋㅋㅋ
윤드림횽인지 내가 알 이유도 없고 난 그냥 저 코드가 돌아가는 컴파일러를 알려고 할 뿐이지
컴파일러 옵션이나 컴파일 방식이 팁임 ㅋㅋ
에잇 퉤 치킨은 물건너갔나
6.0 에서 하면 되려나?
joinc 에 올라온 거니 틀린걸 올렸을 이유는 없을테고
http://naver.danggun.net/10034758178
뭐 이런데보면 말이지.
gcc나 vs 6.0 기반에선 될껄? 그리고 그 이상 버전에서도 컴파일러 옵션 좀 손대면 될 수 있음. 구버전 컴파일러들은 캐스팅 대충 쑤셔도 포인터형이면 지들이 알아서 쑤시고 박고 비비고 해대잖아
역시 gcc 군
vs 2008로 테스트했을떈 중간 코드 몇개 캐스팅하면 자동으로 됐고
근데 저걸 어떻게 대충 할 수 있는거지 =_= dst++ 하면 주소 몇 바이트 증가시켜야 할지 컴파일러가 예측이라도 함?
중간에 캐스팅한거 참고해서 하기라도 하나
모든 포인터형은 4바이트고 각 데이터형마다 크기가 있잖음? 그럼 그 크기에 맞춰서 알아서 ++해줌. 캐스팅 덧붙여주면 그 크기만큼 더해주는거고 ㅇㅇ
아니 그게 아니라 저 코드에선 mymemcpy 내에선 dst가 void *dst 니깐 캐스팅도 중간에 직접적으로 해준것도 없는데 dst++ 을 하니까 의문인거
void형도 하는 짓도 없지만 4바이트니 거기에 맞춰서 ++해주지
mymemcpy 호출부에서 넘겨주는 인자의 오리지널 타입 크기를 확인해서 직접 증가시켜주는것도 아닐테고
아.....
이제야 오해가 풀림
걍 dst++이면 주소값을 증가시키는거니까 큰 문제는 없음.
한마디로 표준은 안지키고 컴파일러의 모호함때문에 생긴 코드네
memcpy 인걸 잠시 착각하고 있엇음
dst++ 가 문제가 아니라 *dst 가 문제겠군.
저걸 받으면서 void *로 함수에 억지로 쳐 쑤셔 넣고 받기도 void *로 받아서 메모리 포인터로 이동시키면서 카피할라면 캐스팅 좀 복잡함. 캐스팅후 주소값 뽑아내야 하니 ㅡ,.ㅡ;
(int *) 캐스팅하고 ++ 까지 같이 해주면 되잖음.
세화횽 그거 해봄? ㅋㅋㅋ VS 2008로 돌려본다면 안되는거 알꺼임. OS가 보호차원에서 포인터에서 직접 컨택하면 못하게 되있는데, VS2008의 경우는 아예 컴파일에서 막힘 ㅋㅋ
ㄴㄴ 그게 아니라 다른 변수에 할당해놓고 하는거 말이지.