2010-11-16 30 views
0

我正在計劃一個科學項目,我正在做一些關於各種語言套接字的研究。奇怪的是,我找不到C是否將套接字作爲內部資源的一部分,或者如果該語言需要外部庫來使用套接字。從我所看到的,我傾向於認爲它是內部資源的一部分,但我想確定。C是否包含內置套接字?

謝謝你的時間!

回答

5

套接字由POSIX指定,但不是C本身。基本上任何你可能遇到的現代操作系統除了Windows都大致符合POSIX標準。在Windows上,WINSOCK庫爲標準POSIX套接字提供了非常差的替代品。

+1

不要給他們喘息的機會! – 2010-11-16 14:43:48

+1

好,當然,我有Windows。也許我應該使用Linux進行測試。 – Curlystraw 2010-11-16 14:51:29

+0

如果您使用Windows,但希望在更通用的POSIX環境中開發,Cygwin可能是一個不錯的選擇。它試圖在Windows上模擬POSIX,並做了一個非常好的工作。 – 2010-11-16 14:54:36

2

不,C是輕量級的,不包括套接字。但編譯器套件或您的操作系統可能包含套接字庫。最有可能你就需要引用socket.h中,netinet/in.h中,等

0

我相信C語言本身沒有定義任何輸入或輸出,並且依賴於外部庫(標準)甚至用於控制檯輸入/輸出。請參閱WINSOCK以瞭解Windows上的套接字通過C.

+0

C99將一些文件IO定義爲其標準庫的一部分(附錄B.18),但套接字不是其中的一部分。 – JeremyP 2010-11-16 17:07:34

0

套接字是libc或OS API的一部分,因此它們不屬於本語言的一部分。

+0

不是libc的一部分。 – EJP 2010-11-16 21:22:18