c語言獲取操作系統
⑴ c語言的操作系統是什麼
c語言是一種編程語言。 跟操作系統沒有任何關系。
沒有所謂的c語言的操作系統說法。
如果你指哪些操作系統是用c語言開發的,那麼 windows,linux,mac等都用了c語言開發他們的操作系統。
c語言知識一個語言,用於編程,指示計算機處理器如何工作,處理數據等。你可以用c語言,也可以用其他很多語言。
操作系統是一個大型軟體,軟體本身管理計算機系統的各種資源:cpu,內存,各種設備,文件,進程線程調度等。 這個軟體本身可以用c語言來寫,也可以用其他語言來寫出來。
⑵ 如何用c語言獲取當前操作系統的類型
如何判斷當前是什麼操作系統?
#if
defined(_AIX)
//
IBM
AIX
...
...
#endif
#if
defined(__sun)
//
SUN
OS
...
...
#endif
linux下定義了
"linux",
Sco
Openserver下定義了unix
上面的方法有時候不是很確定,也不好自己掌握和控制,下面探討一下另一個方法:
在UNIX下有一個uname的命令,在不同的操作系統下有不同的返回,
例如:
SCO:
SCO_SV
Linux:
Linux
AIX:
AIX
Unixware:
UnixWare
可以在makefile文件中增加如下句子來判斷當前的操作系統類型,和編譯選擇:
OSTYPE=`uname`
CFLAGS_SCO
=
-D
SCO_SV
CFLAGS_LINUX
=
-D
AIX
prog:
@if
[
"$(OSTYPE)"
=
'SCO_SV'
];then
make
prog1;else
make
prog2;fi
prog1:
$(CC)
-o
tt
tt.c
$(CFLAGS_SCO)
prog2:
$(CC)
-o
tt2
tt2.c
$(CFLAGS_AIX)
如上在編譯命令行中增加-D
SCO_SV的定義,
程序的源代碼中可以如下使用:
#ifdef
SCO_SV
typedef
unsigned
int
socklen_t;
#endif
如此,源代碼就很容易的適應不同的操作系統了。