# C 파일 어셈블리 컴파일링 ## 지식인 질문 아래 두 코드 A와 B의 차이는 무엇입니까? ``` // A int main(void) { return 0; } // B int main() { return 0; } ``` ## 레퍼런스 + 네이버 지식인
## 가독성이 다릅니다. 어셈블리상의 차이는 컴파일 결과 없네요. ## 컴파일 환경 ``` $ 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 ```