1. Kelahiran GCC!
Pada tahun 1985, pada malam yang gelap ketika jari-jarinya tidak terlihat, seorang pria aneh dengan janggut, sosok pendek, dan rambut berantakan mulai menulis satu set kompiler bahasa C. Ecphony ini, yang kemudian dikenal sebagai "programmer terhebat" dan "bapak perangkat lunak bebas", adalah Richard Stallman. Setelah dua tahun bekerja keras, Richard Stallman, yang memiliki janggut yang lebih panjang dan rambut yang lebih berantakan, telah menyelesaikan versi pertama dari kompiler C, yang dia sebut GNU C Complier, yang sekarang menjadi sumber GCC yang terkenal. Kemudian, GCC berkembang pesat, dan sekarang GCC tidak hanya dapat mengkompilasi bahasa C, tetapi juga C++, Fortran, Pascal, Objective-C, Java, Ada dan bahasa lainnya. Pada tahun 80-an dan 90-an abad terakhir, frekuensi CPU, ukuran hard disk, dan ukuran memori komputer pribadi semuanya diukur dalam MB atau bahkan KB, dan jumlah file program yang perlu dikompilasi kecil, dan perintah GCC sudah cukup untuk menghadapinya.
Kedua, masalah baru telah muncul! (membuat & membuat)
Dengan peningkatan dan mempopulerkan kinerja komputer, proyek perangkat lunak berisi lebih banyak file sumber, seperti linux, yang mudah membingungkan dan berbeban kerja, yang mudah membingungkan dan terbeban kerja, yang akan membuat orang gila.
Richard Stallman dan Roland McGrath bersama-sama mengembangkan make and makefile untuk memecahkan masalah ini. Alat make dapat dilihat sebagai alat pemrosesan batch cerdas, yang tidak memiliki fungsi mengkompilasi dan menautkan, tetapi menggunakan metode yang mirip dengan pemrosesan batch - dengan memanggil perintah yang ditentukan oleh pengguna dalam file makefile. Apa itu makefile? Makefile adalah file naskah, seperti skor lagu, alat make seperti konduktor, konduktor mengarahkan seluruh orkestra untuk bermain sesuai dengan partitur, dan alat make dikompilasi dan ditautkan sesuai dengan perintah di makefile. Perintah makefile berisi perintah untuk memanggil gcc (atau kompiler lain) untuk mengkompilasi file sumber.
3. Masalah baru muncul lagi! (Cmake & CMakelist)
Makefile dapat ditulis dengan tangan di bawah beberapa proyek sederhana, tetapi ketika proyek sangat besar, juga sangat merepotkan untuk menulis makefile dengan tangan. Dan makefiles untuk platform yang berbeda telah muncul satu demi satu, termasuk GNU make, QT's qmake, Microsoft's MSnmake, BSD Make(pmake), Makepp, dll. Alat Make ini mengikuti spesifikasi dan standar yang berbeda, dan format Makefile yang mereka lakukan sangat bervariasi. Ini menimbulkan masalah serius: jika perangkat lunak ingin lintas platform, perangkat lunak harus dapat dikompilasi di platform yang berbeda. Jika Anda menggunakan alat Make di atas, Anda harus menulis makefile untuk setiap standar, yang akan menjadi pekerjaan gila, dan jika Anda mengubah platform makefile, Anda harus memodifikasinya kembali.
Jadi, saat ini, alat Cmake muncul, dan Cmake dapat menghasilkan file makefile untuk di atas membuat lebih mudah. Tentu saja, cmake juga memiliki fungsi lain, yaitu dapat menghasilkan makefiles yang dapat digunakan pada platform yang sesuai di seluruh platform, dan Anda tidak perlu memodifikasinya sendiri. cmake adalah lapisan atas Makefile, dan tujuannya adalah untuk menghasilkan makefile portabel dan menyederhanakan beban kerja yang sangat besar untuk menulis makefile sendiri. Tapi apa yang digunakan cmake untuk menghasilkan makefile? Itu juga perlu menghasilkan makefile berdasarkan file yang disebut file CMakeLists.txt (nama ilmiah: file konfigurasi). Pada akhirnya CMakeLists.txt siapa yang menulis dokumen tersebut? Tentu saja, Anda menulisnya sendiri.
Keempat, masalah baru telah muncul lagi! (Ninja)
Ketika rekayasa perangkat lunak menjadi lebih besar dan lebih kompleks, masalah kecepatan eksekusi yang lambat menjadi semakin serius.
Akibatnya, seorang programmer Google meluncurkan Ninja, alat build yang berfokus pada kecepatan. Ninja tidak memiliki semua jenis fitur canggih, sintaks dan penggunaannya sangat sederhana, dan menentukan apa yang harus dilakukan secara rinci, sehingga mulai mengkompilasi dengan sangat cepat. Menurut pengujian dunia nyata: dengan lebih dari 30.000 file sumber, dimungkinkan juga untuk memulai build nyata dalam 1 detik. Sebaliknya, Makefiles yang ditulis oleh insinyur senior juga membutuhkan waktu 10-20 detik untuk mulai membangun.
5. Akhir yang sempurna sejauh ini!
Cmake dapat menghasilkan alat .ninja dan .makefile. Karena banyak orang yang tidak terbiasa dengan cara menulis file makefile dan file ninja, cmake hanya membutuhkan deskripsi sederhana dari file kode sumber (yaitu file CMakeLists.txt) untuk secara otomatis menghasilkan file makefile proyek atau file ninja, dan kemudian mulai mengkompilasi melalui ninja atau make.
5 menit untuk memahami make/makefile/cmake/nmake
Baru-baru ini, apakah Anda dibuat oleh make, cmake, makefile... ... Hal-hal ini pusing, simak artikel berikut ini, mungkin kamu bisa mengerti dengan jelas.
1. GCC Ini adalah Koleksi Kompiler GNU, atau hanya kompiler, yang dapat mengkompilasi banyak bahasa pemrograman (termasuk C, C++, Objective-C, Fortran, Java, dll.).
Ketika program kita hanya memiliki satu file sumber, kita dapat mengkompilasinya secara langsung dengan perintah gcc.
Tetapi bagaimana jika program kita berisi banyak file sumber? Saat mengkompilasi dengan perintah gcc satu per satu, mudah untuk bingung dan padat kerja, sehingga alat make berikut muncul.
2. Membuat Alat make dapat dilihat sebagai alat pemrosesan batch cerdas, yang tidak memiliki fungsi mengkompilasi dan menautkan, tetapi menggunakan metode yang mirip dengan pemrosesan batch - dengan memanggil perintah yang ditentukan oleh pengguna dalam file makefile.
3. Membuat File Apa ini?
Sederhananya, seperti skor lagu, alat make seperti konduktor, konduktor mengarahkan seluruh orkestra untuk bermain sesuai dengan skor, dan alat make mengkompilasi dan menautkan sesuai dengan perintah di makefile. Perintah makefile berisi perintah untuk memanggil gcc (atau kompiler lain) untuk mengkompilasi file sumber.
Makefile dapat diambil secara manual dalam beberapa proyek sederhana, tetapi ketika proyek sangat besar, makefile tulisan tangan juga sangat merepotkan.
4. Pembuatan Cmake dapat dengan mudah membuat file makefile untuk Make di atas. Tentu saja, cmake memiliki fungsi lain yang lebih baik, yaitu dapat menghasilkan makefile yang dapat digunakan pada platform yang sesuai di seluruh platform, jadi kita tidak perlu memodifikasinya sendiri.
Tapi apa yang digunakan cmake untuk menghasilkan makefile? Itu juga perlu menghasilkan makefile berdasarkan file yang disebut file CMakeLists.txt (nama ilmiah: file konfigurasi).
5. CMakeList.txt Pada akhirnya CMakeLists.txt siapa yang menulis dokumen tersebut? Sayang, itu ditulis oleh tanganmu sendiri.
6. Membuat Apa itu nmake?
nmake adalah perintah samping di Microsoft Visual Studio, yang perlu menginstal VS, yang sebenarnya bisa dikatakan setara dengan make-up linux, mengerti?
Ditransfer dari:
Login hyperlink terlihat.
Login hyperlink terlihat.
Login hyperlink terlihat.
|