Dua chapter terakhir kita bekerja di dunia Unix dengan GCC dan Clang; sekarang kita melintasi batas platform ke Windows, yang memiliki pasangan resminya sendiri: compiler MSVC (Microsoft Visual C++) dan IDE Visual Studio. Bila komputer Anda adalah Windows dan tujuan akhir Anda membangun aplikasi Windows, kombinasi ini adalah jalur paling mulus karena compiler, debugger, Windows SDK, dan profiler hadir dari satu instalasi. Seperti biasa di course ini, kode yang kita tulis tetap mengikuti standar — program yang kita uji dengan g++ di Linux akan menghasilkan output yang sama persis ketika dikompilasi MSVC di Windows. Pada Chapter ini kita mempelajari cara memasangnya, cara memakai cl.exe dari terminal, dan perbedaan workflow build-nya dibanding GNU.
Mengenal MSVC dan Visual Studio #
MSVC adalah compiler buatan Microsoft yang dipanggil lewat perintah cl (file programnya cl.exe), lengkap dengan pustaka standarnya sendiri yang sering disebut MSVC STL. Visual Studio adalah IDE raksasa milik Microsoft yang membundel MSVC bersama debugger, desainer UI, dan alat bantu lain — dua nama ini sering tertukar, padahal bisa dipisahkan: MSVC bisa dipakai tanpa IDE penuh lewat command line tools-nya. Untuk pembelajar, edisi yang tepat adalah Visual Studio Community: gratis untuk pengembang individual, mahasiswa, dan proyek open source, dengan fitur inti yang sama seperti edisi berbayar.
Mengapa Windows tetap layak disimak meski kita mengompilasi di Linux? Dua alasan praktis: banyak pekerjaan industri Windows mewajibkan MSVC sebagai target build resminya, dan mengetahui perintah cl membuat Anda bisa membaca dokumentasi serta forum Windows tanpa tersesat. Dokumentasi resmi C++ Microsoft, learn.microsoft.com/en-us/cpp
, juga menjadi salah satu rujukan standar terbaik untuk topik C++ apa pun, bukan hanya untuk MSVC.
Memasang Komponen C++ di Visual Studio #
Instalasi Visual Studio berbasis workload — paket fitur yang dipilih saat pemasangan. Alur ringkasnya sebagai panduan (langkah ini tidak kami jalankan di lingkungan praktikum Linux, jadi tidak ada output yang kami klaim):
- Unduh Visual Studio Installer dari situs resmi Microsoft, lalu jalankan.
- Pilih edisi Community, biarkan installer mengunduh basisnya.
- Di layar pemilihan workload, centang Desktop development with C++.
- Biarkan opsi bawaan workload tersebut tercentang — ia mencakup compiler MSVC, Windows SDK, dan debugger.
- Setelah selesai, buka Visual Studio dan buat proyek Console App (C++) untuk uji pertama.
Komponen yang paling sering terlewat adalah Windows SDK; tanpa ia, program yang memakai API Windows gagal linking. Untuk course ini Anda tidak membutuhkannya lebih dari yang disertakan workload. Versi VS 2022 terkini juga terus memperbarui dukungan standar: pilih /std:c++20 untuk kode C++20, atau /std:c++latest untuk fitur C++23 yang paling baru — keterangan resmi per fitur selalu bisa dicek di dokumentasi MSVC.
cl.exe dan Developer Command Prompt #
Perbedaan terbesar antara workflow MSVC dan GNU ada pada persiapan terminal. Perintah cl tidak ditemukan shell biasa karena compiler butuh sejumlah environment variable (INCLUDE untuk lokasi header, LIB untuk lokasi pustaka) yang diatur oleh skrip Microsoft. Solusinya resmi: jalankan kompilasi dari Developer Command Prompt — pada Start Menu Anda akan menemukan entri x64 Native Tools Command Prompt for VS 2022. Terminal itu sudah “menyala” sejak dibuka, dan dari situ perintahnya terasa seperti g++:
cl /std:c++20 /W4 /EHsc salam-visual.cpp # kompilasi dan linking sekaligus
salam-visual.exe # jalankan hasilnyaSatu baris cl mengerjakan kompilasi dan linking, mirip g++ tanpa -c. Flag /EHsc mengaktifkan penanganan exception C++ dan lazim disertakan pada project kecil. Berikut peta padanan flag yang paling sering dipakai:
| Tugas | g++ (GNU) | cl (MSVC) |
|---|---|---|
| Kompilasi + link | g++ file.cpp -o app | cl file.cpp (hasil file.exe) |
| Nama output khusus | -o app | /Fe:app.exe |
| Pilih standar | -std=c++20 | /std:c++20 atau /std:c++latest |
| Level warning | -Wall -Wextra | /W4 |
| Kompilasi saja | -c | /c |
| Info debugging | -g | /Zi |
| Tambah folder header | -I include | /I include |
Perhatikan arah garis miringnya: GNU memakai opsi awalan -, sedangkan MSVC memakai awalan /. Walkthrough resmi Microsoft untuk kompilasi program C++ native dari command line tersedia di learn.microsoft.com
dan cocok diikuti setelah instalasi selesai.
Program yang Sama di Dua Dunia #
Kode berikut adalah contoh program kecil yang kita uji dengan g++ 14.2 di lingkungan praktikum. Ia hanya memakai fitur standar — <iostream>, <string>, dan array — sehingga menjadi uji portabilitas yang jujur antara compiler:
#include <iostream>
#include <string>
int main() {
std::string nama = "Budi";
std::cout << "Program konversi suhu untuk " << nama << "\n";
double celsius[] = {0.0, 25.0, 37.0, 100.0};
for (double c : celsius) {
double f = c * 9.0 / 5.0 + 32.0;
std::cout << c << " -> " << f << "\n";
}
return 0;
}Output yang Dihasilkan:
Program konversi suhu untuk Budi
0 -> 32
25 -> 77
37 -> 98.6
100 -> 212Di Linux kita menghasilkan output di atas dengan g++ -std=c++23 -Wall -Wextra salam-visual.cpp -o salam-visual. Di Windows, masuk ke Developer Command Prompt lalu jalankan cl /std:c++20 /W4 /EHsc salam-visual.cpp, dan output yang tercetak akan sama persis. Bila suatu saat kode Anda terima di satu compiler tetapi menolak di compiler lain, itu sinyal kuat ada bagian kode yang keluar dari standar — dan inilah manfaat latihan lintas compiler.
Alternatif Ringan: VS Code dengan Toolchain Eksternal #
Bila instalasi Visual Studio terasa berat (puluhan GB), Windows menawarkan jalur alternatif yang ringan: Visual Studio Code plus toolchain eksternal. Polanya mengikuti dua chapter sebelumnya — pasang MSYS2 untuk mendapat g++, atau pasang Build Tools for Visual Studio untuk mendapat cl — lalu VS Code berperan sebagai editor dengan extension C/C++ untuk penyelesaian kode dan debugging. Kombinasi ini cukup untuk seluruh course ini dan membuat file g++ perintah-perintah kita konsisten dengan praktikum Linux. Perbedaannya nyata saat proyek membesar: Visual Studio menyediakan debugger grafis, profiler, dan desainer proyek yang lebih lengkap dari VS Code.
Dengan tiga compiler besar sudah terpetakan — GCC, Clang, MSVC — pertanyaan berikutnya adalah alat di sekelilingnya: IDE dan editor apa yang paling cocok untuk belajar. Chapter berikutnya membandingkan pilihan tersebut dan merekomendasikan satu untuk memulai.