디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

i = i + 2 와 i += 2 의 차이점?

미라발칸갤로그로 이동합니다. 2011.03.30 12:00:05
조회 145 추천 0 댓글 4

댓글에 보니 잘못된 정보가 있어서...

i = i + 2와 i += 2가 차이가 있다 라는 댓글이 있던데
내 생각에는 없어 보였고 있더라도 요즘 컴파일러는 알아서 최적화 해 줄거라는 생각에 테스트 해 봤어.
테스트 결과는 동일해.
즉 2개는 성능상이나 등등 동일해.
아래 샘플 코드와 결과 있으니 참고해.

test.c
#include <stdio.h>
        
int main() {
        int i = 0;
        i = i + 2;
        return 0;
}       

test1.c
#include <stdio.h>
        
int main() {
        int i = 0;
        i += 2; 
        return 0;
}    

이걸 gcc -S test.c, gcc -S test1.c 로 컴파일해서 ASM을 봤는데 2개 동일하게 나와.

test.c ASM
        .file   "test.c"
        .text
.globl main
        .type   main, @function
main:
        pushl   %ebp
        movl    %esp, %ebp
        subl    $8, %esp
        andl    $-16, %esp
        movl    $0, %eax
        addl    $15, %eax
        addl    $15, %eax
        shrl    $4, %eax
        sall    $4, %eax
        subl    %eax, %esp
        movl    $0, -4(%ebp)
        leal    -4(%ebp), %eax
        addl    $2, (%eax)
        movl    $0, %eax
        leave
        ret
        .size   main, .-main
        .section        .note.GNU-stack,"",@progbits
        .ident  "GCC: (GNU) 3.4.6 20060404 (Red Hat 3.4.6-10)"

test1.c ASM
        .file   "test1.c"
        .text
.globl main
        .type   main, @function
main:   
        pushl   %ebp
        movl    %esp, %ebp
        subl    $8, %esp
        andl    $-16, %esp
        movl    $0, %eax
        addl    $15, %eax
        addl    $15, %eax
        shrl    $4, %eax
        sall    $4, %eax
        subl    %eax, %esp
        movl    $0, -4(%ebp)
        leal    -4(%ebp), %eax
        addl    $2, (%eax)
        movl    $0, %eax
        leave
        ret
        .size   main, .-main
        .section        .note.GNU-stack,"",@progbits
        .ident  "GCC: (GNU) 3.4.6 20060404 (Red Hat 3.4.6-10)"


추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 이혼하고 나서 더 잘 사는 것 같은 스타는? 운영자 24/07/08 - -
243200 내가 정전된 프갤에!! [7] Adelposs갤로그로 이동합니다. 11.04.08 71 0
243199 고수형들 도와줘~ [1] Adelposs갤로그로 이동합니다. 11.04.08 57 0
243198 이 ㅅㅂ 게이들아 [8] 미역(218.232) 11.04.08 104 0
243196 엌ㅋㅋㅋ 이거 왜이러지 다 재대로한거같은데 오류뜬당 ㅎㅎ [5] (219.250) 11.04.08 60 0
243195 1시간후에 자바 시험본다.. [5] 꿀레(14.33) 11.04.08 93 0
243194 엌 오랜만에 디씨하는데 .. 왜이리 바뀜 인팩의 위엄인가 자취생੦ܫ੦갤로그로 이동합니다. 11.04.08 65 0
243191 영한사전 txt 파일로 된거 구할 수 없을까요? [3] 전부날아가쟈갤로그로 이동합니다. 11.04.08 665 0
243190 cpu 순서좀 [3] 존경하는디시(210.102) 11.04.08 251 0
243189 HTC에서 디자이어 S 나온다는 기사가 일제히 삭제되고 있네 [2] 분당살람갤로그로 이동합니다. 11.04.08 86 0
243188 scv의장점 듣보킹갤로그로 이동합니다. 11.04.08 71 0
243184 SVN이 뭐야?? [9] 닌텐도DS갤로그로 이동합니다. 11.04.08 221 0
243182 이클립스에서 프로젝트 import해서 프로젝트 열면 초보자(114.70) 11.04.08 73 0
243181 자바 while 문을이용해서 1~100까지 5의배수를 구하래요형 ㅠ [12] ★킹왕짱☆갤로그로 이동합니다. 11.04.08 196 0
243180 웹표준좀 지켜라. [2] 잏힝(61.255) 11.04.08 64 0
243179 McHello 형 고마워 . [3] ★킹왕짱☆갤로그로 이동합니다. 11.04.08 68 0
243178 자바 문제인데..도와줭.. [5] ★킹왕짱☆갤로그로 이동합니다. 11.04.08 109 0
243176 css나 html 관련해서 질문좀 ^^; [1] 콩콩이(203.244) 11.04.08 59 0
243175 재미있는 프로젝트 주제 없을까요? [4] 조슈아블로흐(203.226) 11.04.08 318 0
243174 형들 이거 질문있어 답좀 [2] 햙햙(211.114) 11.04.08 47 0
243173 c랑java배웠는데 시험은항상좆망이예요... [1] tiffany(50.72) 11.04.08 60 0
243171 횽들 안녕하세요 [13] 해일리갤로그로 이동합니다. 11.04.08 91 0
243170 혹시 여기에 안드로이드 소켓프로그래밍 좀 하는 능력자분들 계신가염 [1] 쭉쭉빵빵(114.108) 11.04.08 245 0
243169 안녕하세요~ 좋은 아침입니다 ^^ [2] 콩콩이(203.244) 11.04.08 46 0
243167 ㅋㅋㅋ 쩌는 만화 [3] SODmaster갤로그로 이동합니다. 11.04.08 97 0
243163 고릴라 정도면 아이패드 쓸 수 있나?? [3] ㅇㅇ(121.133) 11.04.08 109 0
243162 아, 학교가기 싫다. [1] 8989(112.144) 11.04.08 56 0
243161 내자신을 구글링해본결과 Adelposs갤로그로 이동합니다. 11.04.08 94 0
243160 요즘 애갤탐방하는데 Adelposs갤로그로 이동합니다. 11.04.08 62 0
243157 형님들 꼬꼬만데 c++로 플그래밍 시작하고 있거든요?? [3] 횽님들앙(211.237) 11.04.08 117 0
243156 이제 잘 시간... 일광면(119.198) 11.04.08 35 0
243155 횽들..여기 사이트에 있는 동영상을 네이버 블로그에 퍼오고 싶어.. [1] 요오드(125.184) 11.04.08 63 0
243154 아니 이놈의 계산이론 [2] 쿠루우우갤로그로 이동합니다. 11.04.08 87 0
243153 형들 일본에 지진이 났는데 [1] 갤로그로 이동합니다. 11.04.08 105 0
243152 Tron Legacy 라는 영화 본 사람?? [3] 전날의 섬갤로그로 이동합니다. 11.04.08 84 0
243150 나도 이제 프갤을 떠날때가 된거같다.. [1] Adelposs갤로그로 이동합니다. 11.04.08 89 0
243149 ㅠㅠ 내가 생각해도 이상하게 짰어 [3] 흉근갤로그로 이동합니다. 11.04.08 89 0
243147 여기서 잘못된부분좀 찾아주세요 갤로그로 이동합니다. 11.04.08 52 0
243146 으으 프린트만 잘못되는게 아니었네여 [5] 흉근갤로그로 이동합니다. 11.04.08 50 0
243145 헉 성님들 즹짜 마지막 질문이 될거같아여 [2] 흉근갤로그로 이동합니다. 11.04.08 70 0
243144 여기 과제물어보러 오는 꼬꼼화들아 [10] ∫ 2t dt=t²+c갤로그로 이동합니다. 11.04.08 149 0
243143 적분횽 [4] df(t)/dx(222.237) 11.04.08 84 0
243142 프갤의 평화는 내가 치킨다! [10] Adelposs갤로그로 이동합니다. 11.04.08 98 0
243141 15분까지 쉬운질문들어드립니다. [17] 꿀레(14.33) 11.04.08 125 0
243138 으으 성님들 이제 다했는데 마지막줄에서 오류가 나네여 [4] 흉근갤로그로 이동합니다. 11.04.08 79 0
243137 failsource1.c 알바야 지우지마라 내일학교가서할끄다. [1] 얼어버린감갤로그로 이동합니다. 11.04.08 54 0
243136 너희들 왜 [2] Adelposs갤로그로 이동합니다. 11.04.08 53 0
243135 겔이 조용하니 난 가야겟다 SODmaster갤로그로 이동합니다. 11.04.08 41 0
243134 운영체제 공룡책...그거 있잖아 배우면 나중에 뭐에 좋은거야? [3] ㅇㅇ(211.212) 11.04.08 222 0
243133 하... 내일이 기대된다... [3] 나묜(175.205) 11.04.08 53 0
243131 형들 아래 질문했다가 무시당했는데 한번 봐줘 [7] 아가리(110.10) 11.04.08 97 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2