C(包括C++)是貝爾實驗室開發的,其所屬公司AT&T公司早已倒閉,所以已經是沒有爹娘的孩子,根本沒有什麽標準化組織。現在主要的兩個C語言標準:C89和C99都是各個廠商實現各自的C,經過市場競爭以後形成的事實標準,後經ANSI(美國國家標準化委員會)認定所形成的美國標準,繼而又被ISO組織采納為事實標準。
有標準以後各個廠商按照標準修改自己的產品,有的還提供各種選項供用戶選擇使用何種標準(如VC++工程屬性裏的各種設置),以實現“源程序級兼容”。
C中各種函數,如printf函數,涉及到操作系統界面,在不同平臺上的實現肯定是不壹樣的。stdio.h,conio.h在硬盤上都有確實的文件的,可以打開看看函數的定義,都是壹些#define之類的。具體實現功能的東西在.obj,.lib這些文件裏面,有部分是用匯編寫的,全部都是沒有源代碼的。 但是其他的通用函數可能是壹樣的,比如C++STL,都是HP和SGI的標準版。
linux開源,開得是linux的源,當然不包括庫函數。
操作系統的API,全稱application programming interface,即"應用程序接口",是操作系統提供的功能,操作系統將硬件裸機包裝成虛擬機,提供多種接口供用戶調用。Linux、Windows的API是基於C、C++的,DOS的API是基於匯編語言的。
既然C是接近硬件的語言,只要不違反操作系統的安全性、穩定性等限制,大可以跳開API直接操作硬件。這樣無異於自己編寫操作系統,所以C語言如果真的有樓主所述“只用這些函數就能解決問題”這壹天,那麽那個時候的C語言就已經發展成為操作系統了。