# C 파일 어셈블리 컴파일링
## 지식인 질문
아래 두 코드 A와 B의 차이는 무엇입니까?
```
// A
int main(void)
{
  return 0;
}
// B
int main()
{
  return 0;
}
```
## 레퍼런스
  + 네이버 지식인
      
      
      
      
    sehongpark님의 답변
        ## 가독성이 다릅니다.
어셈블리상의 차이는 컴파일 결과 없네요.
## 컴파일 환경
```
$ gcc --version
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 9.1.0 (clang-902.0.39.2)
Target: x86_64-apple-darwin17.7.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
```
## 어셈블리 코드
```
	.section	__TEXT,__text,regular,pure_instructions
	.macosx_version_min 10, 13
	.globl	_main                   ## -- Begin function main
	.p2align	4, 0x90
_main:                                  ## @main
	.cfi_startproc
## BB#0:
	pushq	%rbp
Lcfi0:
	.cfi_def_cfa_offset 16
Lcfi1:
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
Lcfi2:
	.cfi_def_cfa_register %rbp
	xorl	%eax, %eax
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
.subsections_via_symbols
```