من فکر می کنم منظور این دوستمون از portable بودن ، binary compatibility باشه. اگه منظورتون همینه ، که خب معلومه جوابتون منفیه. ما حتی بین نسخه های مختلف لینوکس این قابلیت رو نداریم ، چه برسه بین دو تا سیستم عامل مختلف.
زبان C یک زبان portable هست ، به شرطی که شما از توابع استاندارد C استفاده کنید. یعنی اگه برنامۀ شما فقط از توابع کتابخانۀ استاندارد C (مثل ، printf ، malloc ، و ... scanf) استفاده کنه ، تضمین میشه که روی تمامی سیستم عامل هایی که کامپایلر C براشون موجود هست (and who is not ?) کامپایل بشه. پس این portability در سطح کد هست نه در سطح باینری.
بعضی از کتابخانه های استاندارد: stdio.h ، stdlib.h ، string.h ، time.h