আমার কিছু সি ++ কোড রয়েছে যা একটি প্রিন্ট করে size_t
:
size_t a;
printf("%lu", a);
আমি এটি 32- এবং 64-বিট উভয় আর্কিটেকচার উভয়ই সতর্কতা ছাড়াই সংকলন করতে চাই।
এটি যদি C99 হয় তবে আমি ব্যবহার করতে পারতাম printf("%z", a);
। তবে AFAICT %z
কোনও মানক সি ++ উপভাষায় বিদ্যমান নেই। সুতরাং পরিবর্তে, আমি করতে হবে
printf("%lu", (unsigned long) a);
যা সত্যিই কুৎসিত
যদি size_t
ভাষায় মুদ্রণের জন্য কোনও সুবিধা না থাকে তবে আমি অবাক হই যে কোনও প্রিন্টফ মোড়ক লেখা বা এমন কিছু লেখা সম্ভব যেগুলি যথাযথ ক্যাসেটগুলি সন্নিবেশ size_t
করিয়ে দেবে যাতে এখনও ভালগুলি বজায় রাখার সময় জালিয়াত সংকলক সতর্কতাগুলি অপসারণ করা যায়।
কোন ধারনা?
সম্পাদনা করুন নির্মল কেন আমি printf ব্যবহার করছি: আমি অপেক্ষাকৃত বড় কোড বেস যে আমি পরিষ্কার আপ করছি না। এটি "সতর্কতা লিখুন, কোনও ফাইলে লগইন করুন, এবং সম্ভবত একটি ত্রুটিযুক্ত কোডটি প্রস্থান করুন" এর মতো জিনিসগুলি করতে প্রিন্টফ মোড়ক ব্যবহার করে। আমি যথেষ্ট সি ++ জোগাড় করতে সক্ষম হতে পারি - ফু একটি চাউড়ী মোড়কের সাহায্যে এটি করতে পারে, তবে আমি কেবল কিছু সংকলক সতর্কতা থেকে মুক্তি পেতে প্রোগ্রামে প্রতিটি সতর্কতা () কলকে পরিবর্তন করব না।