আপনি জিসিসি / ক্ল্যাংয়ের অব্যবহৃত বৈশিষ্ট্যটি ব্যবহার করতে পারেন, তবে সমস্ত উত্স জুড়ে জিসিসি নির্দিষ্ট বৈশিষ্ট্যগুলি এড়াতে আমি এই ম্যাক্রোগুলি একটি শিরোনামে ব্যবহার করি, __attribute__
সর্বত্র থাকাও কিছুটা ভার্জোজ / কুরুচিপূর্ণ।
#ifdef __GNUC__
# define UNUSED(x) UNUSED_ ## x __attribute__((__unused__))
#else
# define UNUSED(x) UNUSED_ ## x
#endif
#ifdef __GNUC__
# define UNUSED_FUNCTION(x) __attribute__((__unused__)) UNUSED_ ## x
#else
# define UNUSED_FUNCTION(x) UNUSED_ ## x
#endif
তাহলে আপনি করতে পারেন ...
void foo(int UNUSED(bar)) { ... }
আমি এটিকে পছন্দ করি কারণ আপনি কোডটিতে bar
কোথাও ব্যবহার করার চেষ্টা করলে আপনি একটি ত্রুটি পান যাতে আপনি ভুল করে এট্রিবিউটটি ছেড়ে যেতে না পারেন।
এবং কার্যাদি জন্য ...
static void UNUSED_FUNCTION(foo)(int bar) { ... }
দ্রষ্টব্য 1):
আমি যতদূর জানি, এমএসভিসির সমতুল্য নেই __attribute__((__unused__))
।
নোট 2): ম্যাক্রো আর্গুমেন্ট যা প্রথম বন্ধনী থাকে, জন্য কাজ করবে না তাই আপনি যদি একটি আর্গুমেন্ট মত আছে আপনি করতে পারবেন না না, বা এই শুধুমাত্র downside হয় ম্যাক্রো আমি এতদূর পাওয়া যায় নি, এই ক্ষেত্রে আমি ফিরে পড়া প্রতি
UNUSED
float (*coords)[3]
float UNUSED((*coords)[3])
float (*UNUSED(coords))[3]
UNUSED
(void)coords;