📌 g++ -E main.cpp -o main.i
#include、#define
main.i)📌 #include <iostream>
#define A 123
📌 g++ -S main.i -o main.s
.s 檔案📌 _main:
push rbp
mov rdi, OFFSET FLAT:.LC0
call std::cout
pop rbp
ret
📌 g++ -c main.s -o main.o
.s 轉換成 機器碼(二進位的目標檔)
.o 檔案(object file)裡面包含二進位指令,但還沒能獨立執行std::cout )std::cout 可透過加入 using 解決
📌 using namespace std;
📌 g++ main.o -o main
.o 檔案與所需的 標準函式庫(如:libstdc++)做連結std::cout 的實作在哪裡).exe,Linux/macOS 上是無副檔名的 ELF 檔)📌 ./main
📌 #include <iostream>
using namespace std;
int main()
{
cout << "Hello World!!!" << endl;
return 0;
}
return 0