Title Image

Blog Logo

GCC Command for Build Process

🌱 GCC Command for Build Process

    👉 Build Process trong C?

    Build Process là một quá trình xử lý với Input là các file source code (.c, .cpp, .h, .s, ...) và đầu ra là các file nhị phân để xử dụng (.exe, .elf, .hex, .bin, ...).

    ➤ Các bạn có thể tham khảo thêm bài viết về Build Process!

    Build Process trong một chương trình C sẽ trải qua các bước sau: 

Build Process

    Quá trình trên đã được giải thích trong bài viết về Build Process và sẽ được giải thích từng bước dưới đây!

    👉 Trình biên dịch GCC

     GCC - GNU Compiler Collection là một tập hợp các trình biên dịch được thiết kế cho nhiều ngôn ngữ lập trình khác nhau. GCC là một thành phần quan trọng của GNU toolchain, và được hầu hết các hệ điều hành giống Unix, như Linux và Mac OS X chọn làm trình dịch tiêu chuẩn (Tham khảo Wiki).
    Nói chung GCC là trình biên dịch chúng ta cần sử dụng cho Step 2 ở trên - Compilation, biến các file source code thành các file Assembly - mã máy. 
    Trên thực tế thì GCC có thể dùng để giải quyết tất cả công việc trên 😁 

    👉 Sử dụng GCC để xử lý Build Process như thế nào? 

    Trước tiên máy của bạn cần có GCC trước. Nếu cài một số IDE như Codeblock, Dev C++ thì máy đã có sẵn GCC rồi. Còn không thì hãy thử search GCC download trên mạng nhé!
    Cách kiểm tra GCC + phiên bản trên máy, các bạn mở cửa sổ cmd lên và gõ lệnh sau:
gcc --version
GCC

    OK! Sau khi đã có GCC thì ta sẽ bắt đầu từng Step như sơ đồ Build Process:
Đầu tiên mình có một file source code: main.c.

Build Process

    Cần cd đến folder chứa Project của mình hoặc trỏ đến dường dẫn của folder đó và gõ cmd để hiển thị của sổ Command Line.

    👌 Step 1. Preprocessor

    Step này sẽ gộp các file source với file thư viện tương ứng (ở đây là stdio.h), cùng với đó là xử lý các chỉ thị tiền xử lý, ở đây là #define. 
     Câu lệnh GCC cho Step này: 

gcc -E main.c -o main.i

    Output của Step này là Extended File - main.i như sau:

Build Process

    File này rất nhiều nội dung, chủ yếu là nội dung của thư viện stdio.h. Cái chúng ta quan tâm là phần dưới cùng của file, phần tiền xử lý #define đã được thay thế.

    👌 Step 2. Compilation

    Quá trình này sẽ biến file mai.i trên thành file mã máy - Assembly.
    Câu lệnh: 

gcc -S main.i -o main.s

    Output là file main.s như này, các bạn có kiến thức về ngôn ngữ Assembly thì có thể đọc hiểu được:

Build Process

    👌 Step 3. Assembler

    Step này sử dụng trình Assembler thay thì Compiler, nó gộp các file .s vừa tạo với các file .s có sẵn (nếu có) tạo thành các file object.
    Câu lệnh:

as main.s -o main.o

    Output là file main.o, với nội dung và định dạng mà chúng ta không đọc được đâu 😂

Build Process

     👌 Step 4. Linking

    Sau khi có các file object, chúng sẽ được Link cùng với các static library (nếu có). 
    Câu lệnh:

gcc -v -o main main.o

    Output của quá trình này là file main.exe dùng để run. Bây giờ chỉ cần gõ main, hoặc main.exe + Enter là chương trình sẽ chạy ra kết quả.

    Các bước trên đây là các câu lệnh cơ bản nhất, các bạn có thể tìm hiểu thêm về Build Process và các Compiler option ở các bài viết sau!

>>>= Follow ngay =<<<

💚 Kênh Youtube Lập trình - Điện tử 💚

Để nhận được những bài học miễn phí mới nhất nhé 😊

    Chúc các bạn học tập tốt 😊

Đăng nhận xét

0 Nhận xét