디시인사이드 갤러리

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

갤러리 본문 영역

C언어에서의 void f(); 와 void f(void)

알디갤로그로 이동합니다. 2010.08.28 16:52:52
조회 233 추천 0 댓글 2

이 글은 \'C\' 에서 입니다.


void foo1(){}
void foo2(void){}
int main()
{   
 foo1();   
 foo2();   
 return 0;
}

와 같은 코드는 될까요? 당연히 됩니다. 그렇다면


void foo1()
{
}

void foo2(void)
{
}

int main()
{
    foo1(1, 2);
    foo2();
    return 0;
}

는 어떨까요? 안될거 같죠? 됩니다.
디버깅 해봅시다. 이제부터 foo2 함수는 더 이상 말하지 않겠습니다. 우리의 초점은 foo1 에 맞춥시다.
 foo1(1, 2);
0041726E  push        2   
00417270  push        1   
00417272  call        @ILT+2045(_foo1) (411802h)
00417277  add         esp,8
으흐흐 역시 우리의 컴파일러는 1 과 2 를 인자로 넣고 있네요.
일단 간단하게 이걸 이용하는 예제로 int d = foo1(a, b); 를 하면
d = a+b; 를 수행하는 함수를 만들겁니다.

어쨌거나 아래와 같은 코드로

__declspec(naked) int foo1()
{
    __asm
    {
        push ebp; // ebp 보존을 위한 백업준비 #1


        mov ebp, esp; // ebp 에 esp 를 받아둠.


        sub esp, 0cch; // 내부에서 또 스택을 쓸 수도 있으므로 공간마련 -_-;


    }
    __asm
    {
        mov eax, dword ptr[ebp+8];
        add eax, dword ptr[ebp+0ch];
    }
    __asm
    {
        mov esp,ebp; // sub 로 뺐던 esp 를 다시 원래대로 복원


        pop ebp; // #1


        ret;
    }
}

int main()
{
    printf("%d\\n", foo1(1, 2)); // 3 출력
    return 0;
}근데 왜 C언어에서는 이러한 () 에다가 아무 인자나 받게 해놨을까요? (void) 는 아무것도 받지 않겠다는 뜻이고() 는 뭘 받을지 모른단 뜻이라고 들었는데요. 왜 그럴까요?

추천 비추천

0

고정닉 0

0

댓글 영역

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

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 시세차익 부러워 부동산 보는 눈 배우고 싶은 스타는? 운영자 24/05/27 - -
213155 님들아 아이폰이 낳아여? 안드로이드가 낳아여? [7] 씬입사원갤로그로 이동합니다. 10.10.19 171 0
213154 명령형 / 객체지향 말고 다른걸로 코딩해본적 있다 손 [4] cyluss갤로그로 이동합니다. 10.10.19 116 0
213153 뿌잉 프갤 출석체크염! [4] SALHAE갤로그로 이동합니다. 10.10.19 79 0
213152 다들 자냐? 글좀 싸라.. [4] rntjr갤로그로 이동합니다. 10.10.19 104 0
213151 이렇게 되면 오씨는 뭐야? [4] rntjr갤로그로 이동합니다. 10.10.19 159 0
213150 이거 진짜야? rntjr갤로그로 이동합니다. 10.10.19 100 0
213149 내가 니들한태 오늘 프로그래밍 숙제 하나 내 준다.. [14] rntjr갤로그로 이동합니다. 10.10.19 263 0
213148 리브로에서 프로그래밍책 반값에 사기 [2] 애슬론(121.168) 10.10.19 233 0
213147 C 마스터? [5] prismatic갤로그로 이동합니다. 10.10.19 125 0
213146 와 signal 어렵당 ㅠㅠ.... 도배했다고 정지먹었당.. [2] ㄱㄷ(125.176) 10.10.19 91 0
213145 리눅스 signal 나가고있는데 이거 예제 이해가?????????? [20] ㄱㄷ(221.148) 10.10.19 273 0
213143 취업 전문가들이 내다 보는 2011년 IT전망 [3] 분당살람갤로그로 이동합니다. 10.10.19 256 0
213142 어리석은 사람들. [9] ssonacy갤로그로 이동합니다. 10.10.19 178 0
213141 솔까말 MFC는 필수 교양과목 아니냐? [9] 116.44(116.44) 10.10.19 188 0
213140 네트워크쪽은 미국가면 그래도 먹어주는 편이라던데 [2] ㅁㄴㄹ(121.124) 10.10.19 117 0
213138 올만에 와서 조공을.. [3] 적이되고싶은가갤로그로 이동합니다. 10.10.19 205 0
213137 아까 존나 허접한 에러뜬다고 했었는데 해결함 [1] 몬토야갤로그로 이동합니다. 10.10.19 57 0
213136 밑에 fork 질문한놈이야 !!!!!!!! 됐당!!!! [5] ㄱㄷ(221.148) 10.10.19 105 0
213134 횽들아 int_x , 여기에서 _는 왜붙여주는거임 [8] dd(121.169) 10.10.19 116 0
213133 if랑 else 짝이안 맞다고 난리지 ㅡㅡ ???? [3] ㄱㄷ(221.148) 10.10.19 8650 0
213132 API 나 MFC 모르고 c#으로 가도 되나요? [4] realslow-갤로그로 이동합니다. 10.10.19 176 0
213131 리눅스에서 fork 쓰는 프로그램 함만봐줘 횽드라 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ [2] ㄱㄷ(221.148) 10.10.19 98 0
213130 인서울 4년제 컴퓨터 소프트웨어학관데,,, [1] ㄱㄷ(221.148) 10.10.19 189 0
213129 분수계산 [3] 이모군(1.225) 10.10.19 96 0
213128 노트북 하나 얻을건데 [6] LichkiN갤로그로 이동합니다. 10.10.19 115 0
213127 프로그래밍 교양서 중에 콰인 나오는 책이 있다고 들었음 [2] cyluss갤로그로 이동합니다. 10.10.19 115 0
213125 만약 과거로 되돌아갈 수 있다면 선택과목은 화학으로 해야겠다. [1] 과거(121.133) 10.10.19 109 0
213123 IT 전망 어떻게될까요? 광범위한질문이지만 [7] ㅇㅇ(121.169) 10.10.18 213 0
213121 리브로 신간도서 1권은 무조건 사야되는거야? [2] .3(203.223) 10.10.18 111 0
213120 횽들 도움좀 주삼 [3] 개초보찐따(175.125) 10.10.18 64 0
213118 그런 의미에서 레퍼런스 북 추천좀 해주세여.. 애슬론(121.168) 10.10.18 39 0
213117 님들아 프로그래밍책 살 절호의 찬스에요 [6] 애슬론(121.168) 10.10.18 163 0
213116 형들 앞부분만 다시 올렷어요 [21] 485646(121.139) 10.10.18 158 0
213113 아 쉬방..... 조낸 허접한거 같은데 몬토야갤로그로 이동합니다. 10.10.18 73 0
213112 리눅스에서 fork() 해서 프로세스 생성하는거. ... ㅡㅡ 으잉(211.192) 10.10.18 158 0
213111 형들 하나만 물어봐두돼요? [6] 485646(121.139) 10.10.18 92 0
213109 Reading ZIP File Format #2, ZIP 파일의 전체구조 [1] DMW(125.138) 10.10.18 152 0
213108 형들 c언어 포인터배열좀 알려주세요 ㅠ [2] 벙어리소년갤로그로 이동합니다. 10.10.18 118 0
213107 오랜만에 빡센 야근 monoless갤로그로 이동합니다. 10.10.18 65 0
213106 아직 미필인데 군대는 무조건 정보보안통신병으로 가요? [2] FSDAFAS(122.39) 10.10.18 173 0
213105 마지막으로 횽들에게 꿈과 희망을 전해주고 자야지.. OO(119.149) 10.10.18 111 0
213104 공부하려면 랜선 뽑고 컴터 끄고 해라 [1] 넉넉한터갤로그로 이동합니다. 10.10.18 73 0
213103 요즘들어 자꾸 헛구역질이 나는데 뭐 잘못된거임?? [10] 개쉛기갤로그로 이동합니다. 10.10.18 183 0
213102 하소연 [3] OO(119.149) 10.10.18 66 0
213101 아 아래 군대 전산실 이야기하니까 또 여자 ROTC 생각나며 빡치네여 [5] 형들아(220.73) 10.10.18 263 0
213100 프로그래밍 관련된 알바가 있을까? [12] 곧전역입니다(180.65) 10.10.18 234 0
213098 c늅늅인데 scanf가 헷갈려요 [1] safasfd(122.39) 10.10.18 63 0
213097 왜 틀렸는지 당쵀 모르겠네 [9] 어머나(166.104) 10.10.18 118 0
213096 웹프로그래머가 연봉 제일 적음?? [1] 동그리동동(183.101) 10.10.18 193 0
213095 형들 여기 이런거 올려도되? 정지먹으려나.;; [8] 485646(121.139) 10.10.18 188 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2