ঝাঁকুনি সনাক্ত করতে আমি কোন পূর্বনির্ধারিত ম্যাক্রো ব্যবহার করতে পারি?


111

আমি আমার উত্স কোডটি সংকলন করতে ব্যবহৃত সংকলকটি সনাক্ত করার চেষ্টা করছি। এমএসভিসি বা জিসিসি পরীক্ষা করার জন্য আমি সহজেই পূর্বনির্ধারিত ম্যাক্রোগুলি খুঁজে পেতে পারি ( উদাহরণস্বরূপ http://predef.sourceforge.net/ দেখুন ) তবে ঝনঝনির জন্য পরীক্ষা করার জন্য আমি কোনও ম্যাক্রো খুঁজে পাই না।

কেউ কি জানেন যে ক্ল্যাং কোনও ম্যাক্রো সংজ্ঞায়িত করে __CLANG__যাতে বর্তমানে আমার কোডটি কী সংকলন করছে তা জানতে?



উত্তর:


120

সংকলক যে সমস্ত পূর্বনির্ধারিত ম্যাক্রোগুলি ব্যবহার করে তাদের একটি তালিকা পেতে, এটি ব্যবহার করুন:

clang -dM -E -x c /dev/null

আপনি জিসিসির ক্ষেত্রেও এটি করতে পারেন।



41

এই প্রশ্নের উত্তর বছরের পর বছর ধরে দেওয়া হয়েছে তবে উইন্ডোজে এটি কীভাবে করা হয় তা আমাকে (ভবিষ্যতের রেফারেন্সের জন্য) যুক্ত করতে দিন :

echo | clang -dM -E -

জিসিসির মতো:

echo | gcc -dM -E -

দয়া করে নোট করুন: শেষ ড্যাশটি -আসলে গুরুত্বপূর্ণ! (অন্যথায় আপনি error: no input filesউভয় সংকলক জন্য পেতে )


8
অবগতির জন্য, উইন্ডোজ সমতুল্য /dev/nullহয়NUL:
বৈধ

@ হু হু! আমি জানতাম না! যে বেশ শান্ত; তুমি কোথায় পেলো?
এমডি এক্সএফ

4
ডস দিন থেকে এটি সেখানে রয়েছে, কেবল বেশিরভাগ ডস / উইন্ডোজ ব্যবহারকারীদের কখনই এটির প্রয়োজন হয় না।
বৈধকরণ করুন

আমি সাধারণত লিনাক্সেও এটি করি। টাইপিং /dev/nullআরও কাজ।
পিটার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.