# 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
```