Saya mencoba mendeteksi kompiler yang digunakan untuk mengkompilasi kode sumber saya. Saya dapat dengan mudah menemukan makro yang telah ditentukan untuk memeriksa MSVC atau GCC (lihat http://predef.sourceforge.net/ misalnya), tetapi saya tidak dapat menemukan makro untuk memeriksa adanya dentang.
Apakah seseorang tahu jika clang mendefinisikan makro seperti __CLANG__
untuk mengetahui apa yang sedang menyusun kode saya?
c
macros
clang
c-preprocessor
Pierre Bourdon
sumber
sumber
Jawaban:
Untuk mendapatkan daftar semua makro yang telah ditentukan yang digunakan compiler, gunakan ini:
Anda dapat melakukan hal yang sama untuk gcc.
sumber
Temukan jawabannya menggunakan
strings
+grep
:sumber
Pertanyaan ini telah dijawab selama bertahun-tahun tetapi izinkan saya menambahkan (untuk referensi di masa mendatang) bagaimana hal itu dilakukan di Windows :
sama seperti untuk GCC:
Harap diperhatikan: Tanda hubung terakhir
-
sebenarnya penting! (Jika tidak, Anda akan mendapatkanerror: no input files
kedua kompiler)sumber
/dev/null
adalahNUL:
/dev/null
lebih banyak pekerjaan.