Kompiler C untuk Windows? [Tutup]

125

Saya baik-baik saja bekerja di Linux menggunakan gcc sebagai kompiler C saya tetapi menginginkan solusi Windows. Ada ide? Saya telah melihat Dev-C ++ dari Bloodshed tetapi mencari lebih banyak opsi.

mario64
sumber
Lihat Subsistem Windows untuk Linux yang diperkenalkan pada 2017. Ini memungkinkan Anda menjalankan alat linux asli seperti gcc langsung di Windows. Lihat: docs.microsoft.com/en-us/windows/wsl/install-win10 , dan howtogeek.com/249966/…
Evan Rosica

Jawaban:

79

Anda dapat menggunakan GCC di Windows dengan mengunduh MingW ( dihentikan ) atau penggantinya Mingw-w64 .

Ben Hoffstein
sumber
1
stackoverflow.com/questions/29205033/… - Tetapi menggunakan MinGW di Windows tidak memecahkan masalah untuk menangani LibVLC dan Gstreamer. Dengan menggunakan MinGW crash file yang dapat dieksekusi. Apakah ada solusi yang lebih baik?
1
Meskipun mingw adalah proyek yang fantastis, itu tidak cocok untuk saya ketika saya ingin mengkompilasi Windows exec. di Linux.
Vijay Kumar Kanta
36

Anda bisa mendapatkan Visual C ++ Express Edition langsung dari Microsoft, jika Anda menginginkan sesuatu yang menargetkan Win32. Atau MinGW atau lcc, seperti yang disarankan di tempat lain.

Alex M
sumber
3
Visual Studio sangat bagus, tetapi jika mereka menggunakan linux / gcc di kelasnya mungkin itu bukan pilihan terbaik.
Joel Coehoorn
1
Masalahnya adalah C dan C ++ adalah bahasa yang berbeda. Kode C tidak selalu berfungsi di C ++.
tloach
9
Saya percaya bahwa Visual C ++ juga memiliki kompiler C-mode.
Alex M
4
Stroustrup menjelaskannya di sini: public.research.att.com/~bs/bs_faq.html#C-is-subset Menurut saya bagian terburuknya adalah ukuran () ketidakcocokan untuk karakter dan int, ditambah kata kunci yang ditambahkan di C ++.
Alex M
17
Seperti yang dikatakan @Richard dalam komentar: VC ++ tidak memiliki fitur C99.
jfs
23

GCC ada di mana-mana. Ini dipercaya dan dipahami dengan baik oleh ribuan orang di berbagai komunitas.

Visual Studio mungkin adalah IDE terbaik yang pernah dikembangkan. Ini memiliki kompiler yang bagus di bawahnya. Tetapi ini sepenuhnya hanya untuk Windows.

Jika Anda hanya bermain, dapatkan GCC - gratis. Jika Anda mengkhawatirkan beberapa platfrom, itu adalah GCC. Jika Anda berbicara tentang pengembangan Windows yang serius, dapatkan Visual Studio.

Kevin Little
sumber
Sekarang ada Visual Studio Codeyang bersifat lintas platform, dengan fungsi yang kurang lebih sama.
Dr_Zaszuś
19

Anda selalu dapat menggunakan gcc melalui cygwin.

UnkwnTech
sumber
13
Ini mengikat aplikasi Anda ke Cygwin DLL, yang menurut saya sangat menjengkelkan.
Alex M
Saya setuju, tetapi jika aplikasinya memiliki penginstal, seseorang dapat memaketkan dll.
UnkwnTech
13
Gunakan opsi --mno-cygwin saat mengompilasi di bawah cygwin. Ini membuatnya mengkompilasi binari MinGW; tidak diperlukan Cygwin DLL.
Colin
5
-mno-cygwintidak lagi didukung - instal paket kompilator silang MinGW yang sesuai untuk platform Anda
Christoph
17

Ada kompiler C gratis lainnya untuk Windows: Pelles C.

Pelles C adalah kit pengembangan lengkap untuk Windows dan Windows Mobile. Ini berisi antara lain kompiler C yang mengoptimalkan, assembler makro, linker, kompiler sumber daya, kompilator pesan, utilitas make, dan pembuat instal untuk Windows dan Windows Mobile. Ini juga berisi lingkungan pengembangan terintegrasi (IDE) dengan manajemen proyek, debugger, editor kode sumber dan editor sumber daya untuk dialog, menu, tabel string, tabel akselerator, bitmap, ikon, kursor, kursor animasi, video animasi (AVI tanpa suara), versi dan XP manifes.

URL: http://www.smorgasbordet.com/pellesc/

Hideo
sumber
12

Saya pribadi telah mencari cara menggunakan MinGW (apa yang digunakan Bloodshed) dengan Code Blocks IDE .

Saya juga mempertimbangkan untuk menggunakan kompiler Digital Mars C / C ++ .

Keduanya tampaknya dihormati.

Philip Tinney
sumber
Digital Mars C / C ++ telah ada selama beberapa waktu dan bekerja dengan baik. Namun Anda akan mengalami masalah penautan untuk perpustakaan karena menggunakan format file objek yang tidak begitu umum. Jika Anda bisa mendapatkan kode sumber, itu tidak terlalu menjadi masalah. Juga, saya belum pernah menggunakannya tetapi ada alat pengubah format file.
BCS
8

Anda dapat mencoba Code :: Blocks , yang merupakan IDE yang lebih baik dan dilengkapi dengan MinGW GCC! Saya telah menggunakannya dan itu adalah IDE freeware yang terlalu bagus untuk C / C ++.

yogeesh
sumber
@zeboidlund, Dan apa versi post winxp?
Pacerier
8

GCC secara teknis bukanlah kompiler khusus linux. Ini adalah compiler c / c ++ yang memenuhi standar, dan saya menggunakannya untuk program windows setiap hari. Mungkin yang terbaik adalah Anda menggunakannya sampai Anda merasa lebih nyaman dengan sesuatu yang lain.

Saya menyarankan Anda menggunakan distribusi MinGW dari GCC. Itu akan mengkompilasi program Anda secara native untuk windows, menggunakan pustaka standar, dll.

Jika Anda mencari IDE, saya punya dua rekomendasi. Visual Studio adalah versi Microsoft, dan meskipun memiliki masalah, ini adalah IDE yang sangat baik untuk bekerja dengan kode. Namun, jika Anda mencari sesuatu yang sedikit lebih ringan, CodeBlocks juga cukup bagus, dan memiliki manfaat tambahan untuk dapat menggunakan pada dasarnya semua kompiler yang telah Anda instal (termasuk beberapa bentuk GCC dan Microsoft Compiler yang hadir dengan Visual Studio) dan dapat membuka file proyek dari IDE lain. Plus, ini berjalan di linux juga, jadi Anda bisa membuat transisi itu lebih mudah bagi diri Anda sendiri.

Saya pribadi lebih suka GCC, tapi itu hanya saya. Jika Anda benar-benar menginginkan Solusi Microsoft, VS adalah cara yang tepat.

Nicholas Flynt
sumber
7

MinGW akan menjadi terjemahan langsung dari gcc untuk windows, atau Anda mungkin ingin memeriksa LCC , vanilla c (lebih atau kurang) dengan IDE. Pelles C tampaknya didasarkan pada lcc dan memiliki IDE yang lebih bagus, meskipun saya belum pernah menggunakannya secara pribadi. Tentu saja selalu ada MSVC Edisi Ekspres yang gratis, tapi itu pilihan Anda.

mjard
sumber
6

Sebagian besar universitas memberi Anda akses ke Microsoft Dreamspark .

Jika Anda menggunakan GCC / Linux di kelasnya, cukup instal Ubuntu . Windows adalah platform yang buruk untuk pengembangan C.

Matt Joiner
sumber
16
Windows adalah platform yang buruk untuk semua pengembangan. Perbaiki itu untukmu.
notbad.jpeg
4
Ini adalah opsi terbaik untuk Visual Basic, Anda tidak dapat menyangkalnya!
rlms
1
@sweeneyrod: Agar adil, menggunakan VB untuk mengembangkan aplikasi untuk Wine akan cukup bagus.
Matt Joiner
Masalah dengan sesuatu yang diakses melalui universitas adalah bahwa setelah kelas selesai, Anda tidak memiliki cara untuk menggunakan keterampilan yang telah Anda peroleh dengan kerja keras.
richard1941
@ richard1941: Universitas tidak bermaksud menerapkannya pada industri persis seperti teknologi yang Anda pelajari di kelas.
Matt Joiner
5

Berhati-hatilah untuk menggunakan kompiler C, bukan C ++ jika Anda benar-benar melakukan C. Meskipun sebagian besar program dalam C akan bekerja menggunakan kompiler C ++, ada cukup banyak perbedaan sehingga dapat menimbulkan masalah. Saya setuju dengan orang yang menyarankan menggunakan gcc melalui cygwin.

EDIT:
http://en.wikipedia.org/wiki/Compatibility_of_C_and_C%2B%2B menunjukkan beberapa perbedaan utama

tloach
sumber
Dapatkah Anda menjelaskan secara spesifik tentang "perbedaan yang cukup"?
Tandai
2
Kompilator C ++ apa pun juga akan mengompilasi C - biasanya mode kompilator akan dipilih secara otomatis berdasarkan ekstensi nama file, tetapi setiap kompilator juga memiliki opsi untuk memaksa mode C atau C ++ terlepas dari nama file.
Michael Burr
3

GCC berfungsi dengan baik. Perhatikan bahwa MSVC belum tentu merupakan solusi yang valid karena tidak mendukung C99.

Dark Shikari
sumber
6
-1, GCC juga tidak mendukung C99.
Bastien Léonard
4
Tidak terlalu buruk: gcc.gnu.org/c99status.html
aib
3

Saya terlambat ke pesta ini, tetapi untuk orang-orang C di masa depan di Windows, Visual Studio menargetkan C90 daripada C99, yang akan Anda dapatkan di * nix. Saat ini saya menargetkan C99 di Windows dengan menggunakan Sublime Text 2 bersama dengan Cygwin.

John Ruiz
sumber
1

Visual C ++ Express adalah IDE yang bagus dan gratis untuk Windows yang dilengkapi dengan kompiler.

Jika Anda lebih nyaman dengan solusi baris perintah secara umum dan gcc pada khususnya, MinGW atau Cygwin mungkin lebih cocok untuk Anda. Keduanya juga gratis.

Gulungan
sumber
1

Ada beberapa komentar yang menunjukkan bahwa C bukan C ++. Meskipun itu benar, juga benar bahwa setiap kompiler C ++ juga akan mengkompilasi C - biasanya mode kompilator akan dipilih secara otomatis berdasarkan ekstensi nama file, tetapi setiap kompilator juga memiliki opsi untuk memaksa mode C atau C ++ terlepas dari nama file.

Jadi pilihlah compiler C ++ gratis yang paling Anda sukai dengan gcc, VC ++ Express, Digital Mars, apa pun. Gunakan IDE yang paling Anda sukai dari emacs, vim, VC ++ Express, Code :: Blocks, Bloodshed - lagi apa pun.

Salah satu alat ini akan lebih dari cukup untuk pembelajaran. Secara pribadi, karena Anda bertanya tentang Windows, saya akan memilih VC ++ Express - ini adalah IDE yang bagus, gratis, dan itu akan mengkompilasi program C dengan baik.

Michael Burr
sumber
1
Berbicara dari pengalaman: VC adalah kompiler C yang mengerikan. Segala sesuatu yang modern telah tertinggal di VC. Untuk C ++ itu bagus ... untuk C, itu mengerikan.
zeboidlund
0

Itu tergantung pada apa yang Anda gunakan di kelas.

Jika lab dan tugas ada di linux, Anda mungkin menginginkan solusi MinGW. Jika mereka berada di Windows, dapatkan Visual Studio Express.

Joel Coehoorn
sumber
0

Tidak bisakah Anda mendapatkan versi gratis Penambahan Siswa Visual Studio dari sekolah Anda? Sebagian besar Universitas memiliki program untuk memberikan perangkat lunak gratis kepada siswa.

Charles Graham
sumber
1
Tidak, dia benar. Ada program khusus yang disebut "Dream Spark", bukan berarti saya mendukung Microsoft yang licik.
Matt Joiner
0

Maksud Anda Bloodshed's Dev-C ++? Ini adalah IDE visual yang bagus untuk C ++ yang menggunakan gcc MinGW untuk Windows sebagai kompiler layar-belakang. Proyek telah ditinggalkan untuk sementara waktu (menurut saya, menggunakan Delphi untuk mengembangkan C ++ IDE adalah hal yang sangat bodoh untuk dilakukan untuk menarik perhatian pengembang), namun tidak ada yang menghentikan Anda untuk menggunakannya dan memperbarui versi gcc MinGW itu menggunakan yang terbaru - selain itu berlisensi GPL.

Joe Pineda
sumber
0

Saya menggunakan DEV C ++, CygWin, atau Visual C ++ Express dari BloodShed. Semuanya gratis dan berfungsi dengan baik. Bagi saya, DEV C ++ bekerja paling baik dan paling tidak unik. Setiap kompiler memiliki keunikan dan perbedaannya sendiri, Anda perlu mencoba beberapa dan menemukan yang paling nyaman bagi Anda. Saya juga menyukai kenyataan bahwa DEV C ++ memungkinkan saya mengubah font yang digunakan di editor. Saya suka font Pemrograman Proggy!

Michael Brown
sumber
-1

Haruskah kompiler Windows C ++ bekerja.

Lihat juga MinGW .

nsanders
sumber
6
C! = C ++. Ada perbedaan sehingga tidak semua kode C akan dikompilasi dalam C ++.
tloach