Tag: linking

  • CS:APP Chapter 7 Linking 筆記

    CS:APP Chapter 7 Linking 筆記

    為啥要學 linking? 了解 linker 可以幫助你建立更大的程式。 了解 linker 可以幫助你避免危險的程式錯誤。 了解 linker 可以幫助你了解程式如何實現 scoping 規則。 了解 linker 可以幫助你了解其他的系統概念。 了解 linker 可以讓你使用 shared libraries。 7.1 Compiler Drivers gcc 不是個編譯器,是一個 compiler driver,提供整個編譯系統 (compilation system) 會用的東西。 當呼叫 gcc,他會調用 language preprocessor, compiler, assembler 與 linker。 可以加上 -v 來看 gcc 實際上如何調用上面提到的東西。 假設執行 gcc -o main main.c,gcc 基本上會調用下列工具: cpp – preprocessor – 產生 ASCII intermediate file,…