Bài viết được cập nhật 21/02/2023

Mục lục:

  1. Cài đặt trình biên dịch GCC
    1. Windows
    2. Linux Distros
  2. Cài đặt và và chương trình C đầu tiên
  3. Tuỳ chỉnh lại một chút cho vscode
  4. Nâng cao: Debug cơ bản

Các lỗi thường gặp

collect2.exe: error: ld return 1 exit status

  • Cách sửa: F1 -> Kill All Terminals
  • Lỗi này xảy ra khi bạn đã chạy chương trình trước đó, nhưng quên không hoàn thành chương trình hoặc không tự kết thúc seasson terminal đó (Alt F4 hoặc ấn vào dấu X trên vscode (đúng ra là phải ấn vào thùng rác))
  • Đối với Dev-C và các IDE, editor khác ngoài Vscode, bạn hãy mở Task Manager, sau đó tìm ứng dụng có tên a.exe hoặc một tên đáng nghi nào đó, sau đó chuột phải End Task.

Step 1: Cài đặt trình biên dịch GCC

A. Windows:

  • Để có thể biên dịch và chạy được mã C++ trên Windows, bạn cần cài đặt mingw-64:

    Yêu cầu tải về: mingw-64.7z

  • Chuột phải vào file tải về, chọn Extract File, sau đó chọn vị trí mà bạn muốn lưu thư mục mingw64

mingw_setup_1
Giải nén thư mục tải về
mingw_setup_2
Chọn vị trí muốn cài đặt - ở đây mình chọn D:\bin
mingw_setup_3
Kết quả:
  • Bước tiếp theo các bạn cần báo cho máy tính của mình biết bộ dịch này được tải về rồi và nó ở chỗ nào, bằng cách thêm nó vào Environment Variables:

environment_1
environment_2
environment_3
environment_4

  • Bước cuối cùng để kiểm tra bạn đã làm đúng các bước trên, nhấn Window - R, điền cmd, sau đó nhập vào:
g++ --version
  • Nó hiện vậy là oke:
C:\Users\mycomputer>g++ --version
g++ (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

B. Linux Distros

Các distro Linux luôn đi kèm với bộ dịch GCC (do Linux được viết bằng C), cho nên không cần thiết chúng ta phải cài GCC thêm một lần nữa, tuy nhiên sau đây là một số lệnh nếu bạn muốn kiểm tra bộ dịch gcc của mình:

# Kiểm tra phiên bản GCC:
gcc --version
g++ --version

# Update/cài đặt gcc"
sudo apt-get install gcc g++

Step 2: Cài đặt và chương trình C đầu tiên:

Yêu cầu tải về: Visual Studio Code

  • Ấn next và next thôi :D

  • Sau khi cài xong mọi người sẽ có giao diện như vậy:

gettingstaterd

  • Bước tiếp theo mọi người cần làm là
    • Chọn tab Extension nằm ở thanh dock bên trái
    • Tìm C/C++Code Runner sau đó Install

extension

  • Bắt đầu viết code thôi. Chúng ta nhấn vào tab Folder nằm ở thanh dock trái, sau đó click Open Folder

    Bạn có thể tạo mới một folder, hoặc sử dụng folder đã sẵn có. Mình khuyến khích các bạn nên sử dụng Open Folder thay vì Open File riêng lẻ vì sẽ có một số trường hợp vscode sẽ không hoạt động đối với Open File

folder

  • Oke giờ thì tạo một file mới:

file

  • Viết Hello World và chạy:

      #include <stdio.h>
      int main()
      {
          printf("Hello World");
          return 0;
      }
    


  • Kết quả:

build

Step 3: Tuỳ chỉnh một chút cho vscode

Từ bây giờ chúng ta dùng Visual Studio Code để code C++ vô tư rồi, tuy nhiên để cải thiện trải nghiệm mình muốn chỉnh sửa một chút để quen với workflow của mình hơn. Đây là file config của mình để các bạn tham khảo, các bạn có thể tự viết tuỳ chỉnh cho mình:

  • Mở file config:
    • Nhấn F1, sau đó tìm Open Setting (JSON)

config_search

  • Sau đó dán vào config phía dưới:
// VanSu's Config
{
  // Code Runner Configs
  "code-runner.runInTerminal": true,
  "code-runner.saveFileBeforeRun": true,
  "code-runner.saveAllFilesBeforeRun": true,
  "code-runner.preserveFocus": false,
  "cph.general.autoShowJudge": false,

  // Editor Configs
  "editor.formatOnSave": true,
  "editor.formatOnType": true,
  "editor.formatOnPaste": true,
  "explorer.confirmDelete": false,
  "files.autoSave": "afterDelay",
  "workbench.sideBar.location": "right",
  "explorer.confirmDragAndDrop": false,
  "terminal.integrated.tabs.enabled": false,
  "terminal.integrated.copyOnSelection": true,
  "terminal.integrated.tabs.focusMode": "singleClick",
  "terminal.integrated.enableMultiLinePasteWarning": false,
  "workbench.startupEditor": "none",

  // Other
  "git.autofetch": true,
  "git.confirmSync": false,
  "diffEditor.ignoreTrimWhitespace": true,
  "security.workspace.trust.untrustedFiles": "open",

  /**
   * Themes của mình
   * Bạn tự cài theo sở thích riêng
   * Hoặc bỏ comment đoạn config của mình và dùng ✌️
   * Nhớ cài plugin: Fluent Icons, font chữ Firacode NF nhé
   */

  // "workbench.productIconTheme": "fluent-icons", 
  // "terminal.integrated.fontFamily": "Firacode NF Retina",
  // "workbench.colorTheme": "Visual Studio Light",
  // "window.zoomLevel": 1,

  // C/C++ Configs
  "[c]": {
    "editor.defaultFormatter": "ms-vscode.cpptools"
  },
  "[cpp]": {
    "editor.defaultFormatter": "ms-vscode.cpptools"
  },
  "C_Cpp.default.cStandard": "gnu99",
  "C_Cpp.default.cppStandard": "gnu++17",
  "C_Cpp.default.compilerPath": "D:\\bin\\msys2\\mingw64\\bin\\g++.exe",

  // Other Languages
  "[json]": {
    "editor.defaultFormatter": "vscode.json-language-features"
  },
}

Step 4: Debug C++ với VSCODE:

Bắt tay vào làm luôn thui :3

  • Thêm breakpoint Breapoint là gì ?

    Breakpoint là điểm mà khi code chạy tới đấy thì chương trình dừng lại. Vậy thôi ✌️

addbreakpoint

  • Vào mode debug

debuglaunch

  • Ở đây nó sẽ hiện ra một cái box bên trên, bạn click vào cái g++ nhé

debugrequire

  • Ảo ma canada!

debugrequire

  • Đây là chương trình Hello World thôi, thế nếu chương trình yêu cầu nhập vào từ bàn phím thì làm thế nào ? Dễ thôi 💯

debugrequire

  • Okay, thế giờ muốn stop lại thì làm thế nào nhỉ ✌️, giới thiệu với mọi người thanh điều hướng trong debug nhé

debugrequire

  • Debug thực sự rất tiện dành cho người mới học, tuy nhiên post này không đi sâu vào debug, nên mọi người tự tìm hiểu nhé 😄 Đây nhá!!!

Các đường dẫn bổ sung: