Dalam bahasa pemrograman C dan C ++, apa perbedaan antara menggunakan kurung sudut dan menggunakan kutipan dalam includepernyataan, sebagai berikut? #include <filename> #include
Prosesor makro tekstual diterapkan sebelum mengkompilasi program bahasa C dan C ++. Tag ini juga dapat digunakan untuk pertanyaan tentang kompiler / bahasa lain yang berasal dari atau yang memiliki fitur identik, seperti #directives di Objective-C atau C #.
Dalam bahasa pemrograman C dan C ++, apa perbedaan antara menggunakan kurung sudut dan menggunakan kutipan dalam includepernyataan, sebagai berikut? #include <filename> #include
Mengapa preprosesor C dalam GCC menafsirkan kata linux(huruf kecil) sebagai konstanta 1? test.c: #include <stdio.h> int main(void) { int linux = 5; return 0; } Hasil $ gcc -E test.c(berhenti setelah tahap preprocessing): .... int main(void) { int 1 = 5; return 0; } Yang tentu saja...
Dalam banyak makro C / C ++ saya melihat kode makro dibungkus dalam apa yang tampak seperti do whileloop yang tidak berarti . Berikut ini contohnya. #define FOO(X) do { f(X); g(X); } while (0) #define FOO(X) if (1) { f(X); g(X); } else Saya tidak bisa melihat apa yang do whiledilakukannya....
Saya telah melihat kode seperti ini biasanya di awal file header: #ifndef HEADERFILE_H #define HEADERFILE_H Dan pada akhir file tersebut #endif Apa tujuan dari
Saya akan melalui beberapa catatan kursus C, dan setiap file sumber program C dimulai dengan satu #di baris pertama program. Lalu ada baris kosong, dan mengikuti hal-hal lain diikuti oleh mainfungsi. Apa alasannya #? (Sekarang sudah tidak berlaku lagi dan aku tidak bisa menanyakan hal itu.) Ini...
Saya sedang mengerjakan proyek yang memiliki banyak kode C sebelumnya . Kami sudah mulai menulis dalam C ++, dengan tujuan untuk akhirnya mengonversi kode lama juga. Saya agak bingung tentang bagaimana C dan C ++ berinteraksi. Saya mengerti bahwa dengan membungkus kode C dengan extern "C"kompiler C...
Di mana MINdan MAXdidefinisikan dalam C, jika ada? Apa cara terbaik untuk menerapkan ini, secara umum dan ketik seaman mungkin? (Ekstensi kompiler / builtin untuk kompiler arus utama lebih
Bagaimana cara menetapkan variabel preprosesor melalui CMake? Kode yang setara akan menjadi #define
На этот вопрос есть ответы на Stack Overflow на русском : Как узнать список всех определённых макросов? Apakah ada cara untuk gcc / g ++ untuk membuang definisi preprocessornya dari baris perintah? Aku hal-hal berarti seperti __GNUC__, __STDC__, dan...
Saya bertanya-tanya apakah seseorang dapat menjelaskan kepada saya apa yang dilakukan oleh #pragma packpernyataan preprosesor, dan yang lebih penting, mengapa seseorang ingin menggunakannya. Saya memeriksa halaman MSDN , yang menawarkan beberapa wawasan, tetapi saya berharap untuk mendengar lebih...
Mencoba membuat makro yang dapat digunakan untuk mencetak pesan debug ketika DEBUG didefinisikan, seperti kode pseudo berikut: #define DEBUG 1 #define debug_print(args ...) if (DEBUG) fprintf(stderr, args) Bagaimana ini bisa dilakukan dengan
Katakanlah saya memiliki file sumber dengan banyak arahan preprocessor. Apakah mungkin untuk melihat tampilannya setelah preprosesor
Saya ingin menulis makro di C yang menerima sejumlah parameter, bukan angka tertentu contoh: #define macro( X ) something_complicated( whatever( X ) ) di mana Xsejumlah parameter Saya perlu ini karena whateverkelebihan beban dan dapat dipanggil dengan 2 atau 4 parameter. Saya mencoba...
Saya perlu kode saya untuk melakukan hal-hal yang berbeda berdasarkan sistem operasi yang dikompilasi. Saya mencari sesuatu seperti ini: #ifdef OSisWindows // do Windows-specific stuff #else // do Unix-specific stuff #endif Apakah ada cara untuk melakukan ini? Apakah ada cara yang lebih baik...
Apa alasan untuk peringatan berikut di beberapa kompiler C ++? Tidak ada baris baru di akhir file Mengapa saya harus memiliki baris kosong di akhir file sumber /
Saya punya dua makro FOO2dan FOO3: #define FOO2(x,y) ... #define FOO3(x,y,z) ... Saya ingin mendefinisikan makro baru FOOsebagai berikut: #define FOO(x,y) FOO2(x,y) #define FOO(x,y,z) FOO3(x,y,z) Tetapi ini tidak berhasil karena makro tidak membebani jumlah argumen. Tanpa memodifikasi FOO2dan...
Ditutup . Pertanyaan ini perlu lebih fokus . Saat ini tidak menerima jawaban. Ingin meningkatkan pertanyaan ini? Perbarui pertanyaan sehingga berfokus pada satu masalah hanya dengan mengedit posting ini . Ditutup 2 tahun yang lalu . Perbaiki
Tidak seperti Objective-C, Swift tidak memiliki preprosesor, jadi apakah masih ada cara untuk secara manual mencela anggota kelas? Saya mencari sesuatu yang mirip dengan ini: -(id)method
Bagaimana saya bisa menambahkan kondisi 'atau' di #ifdef? Saya telah mencoba: #ifdef CONDITION1 || CONDITION2 #endif Ini tidak
Dengan anggapan bahwa kompiler C ++ Anda mendukungnya, apakah ada alasan khusus untuk tidak menggunakannya __FILE__, __LINE__dan __FUNCTION__untuk tujuan logging dan debugging? Saya terutama prihatin dengan memberikan data yang menyesatkan pengguna — misalnya, melaporkan nomor baris yang salah...