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
如此,源代码就很容易的适应不同的操作系统了。