কিছু পরিবেশে, সংকলনটি দ্রুততম হবে যদি কারওটিতে কেবলমাত্র একটির শিরোনামযুক্ত ফাইল অন্তর্ভুক্ত থাকে। অন্যান্য পরিবেশে, সংকলনটি অনুকূলিত করা হবে যদি সমস্ত উত্স ফাইলগুলি একই প্রাথমিক স্তরের শিরোনাম ব্যবহার করতে পারে (কিছু ফাইলের সাধারণ উপসেটের বাইরে অতিরিক্ত শিরোনাম থাকতে পারে)। আদর্শভাবে, শিরোনামগুলি এমনভাবে তৈরি করা উচিত যাতে একাধিক # অন্তর্ভুক্ত ক্রিয়াকলাপগুলির কোনও প্রভাব থাকবে না। ফাইল-টু-অন্তর্ভুক্ত থাকা অন্তর্ভুক্ত-প্রহরীটির জন্য চেক সহ # বিবৃতি অন্তর্ভুক্ত করা ভাল হতে পারে, যদিও এটি সেই গার্ডের ফর্ম্যাটের উপর নির্ভরতা তৈরি করে। তদ্ব্যতীত, সিস্টেমের ফাইল ক্যাচিং আচরণের উপর নির্ভর করে একটি অপ্রয়োজনীয় # অন্তর্ভুক্ত করুন যার লক্ষ্য সম্পূর্ণরূপে # ifdef'ed হয়ে শেষ হতে পারে না।
আরেকটি বিষয় বিবেচনা করার বিষয় হ'ল যদি কোনও ফাংশন কোনও স্ট্রাক্টে একটি পয়েন্টার নেয়, তবে প্রোটোটাইপ হিসাবে লিখতে পারে
অকার্যকর foo (কাঠামো BAR_s * বার);
সুযোগসুবিধা থাকতে BAR_s এর কোনও সংজ্ঞা ছাড়াই। অপ্রয়োজনীয় এড়ানোর জন্য খুব সহজ পদ্ধতির মধ্যে অন্তর্ভুক্ত রয়েছে।
পিএস - আমার বেশিরভাগ প্রকল্পে, এমন একটি ফাইল থাকবে যা এটি প্রত্যাশা করে যে প্রতিটি মডিউলটি # অন্তর্ভুক্ত করবে, যেখানে পূর্ণসংখ্যার আকার এবং কয়েকটি সাধারণ কাঠামো এবং ইউনিয়নগুলির জন্য টাইপডেফসের মতো জিনিস রয়েছে [উদাহরণস্বরূপ
টাইপডেফ ইউনিয়ন {
স্বাক্ষরবিহীন দীর্ঘ l;
স্বাক্ষরযুক্ত স্বল্প lw [2];
স্বাক্ষরবিহীন চর lb [4];
} U_QUAD;
(হ্যাঁ, আমি জানি যে আমি যদি বড়-এন্ডিয়ান আর্কিটেকচারে চলে যাই তবে আমি সমস্যায় পড়ব, তবে যেহেতু আমার সংকলক ইউনিয়নগুলিতে বেনামে স্ট্রাক্টের অনুমতি দেয় না, ইউনিয়নের বাইটগুলির জন্য নাম চিহ্নিতকারীদের ব্যবহার করে তাদের হিসাবে প্রবেশ করা দরকার theUnion.b.b1 ইত্যাদি যা বিরক্তিকর বলে মনে হচ্ছে।