如何判断当前是什么 *** 作系统?
#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 ttc $(CFLAGS_SCO)
prog2:
$(CC) -o tt2 tt2c $(CFLAGS_AIX)
如上在编译命令行中增加-D SCO_SV的定义, 程序的源代码中可以如下使用:
#ifdef SCO_SV
typedef unsigned int socklen_t;
#endif
如此,源代码就很容易的适应不同的 *** 作系统了。
获得当前系统时间:Now();
功能得到客户机的当前系统时间,返回值为Time类型。
PowerBuilder常用日期时间函数Today():功能得到当前系统日期,在某些情况下,同时得到当前系统时间。
返回值:Date。该函数返回当前系统日期。用法:单独调用Today()函数时,该函数总是返回当前系统日期,但是,虽然Today()函数的返回值类型为Date,在该函数用做某些函数的参数、而该参数要求DateTime类型的值时,Today()函数也能够在返回当前系统日期的同时返回当前系统时间。再如,Today()函数作为数据窗口控件SetItem()函数的参数,该函数参数中指定的数据窗口列的数据类型为DateTime,那么当前系统日期和时间将同时设置到数据窗口指定项中。
EnvironmentGetFolderPath(SpecialFolder folder)可以获取很多系统的目录,具体如下: ApplicationData 目录,它用作当前漫游用户的应用程序特定数据的公共储存库。 漫游用户在网络上的多台计算机上工作。漫游用户的配置文件保存在网络服务器上
以上就是关于如何用c语言获取当前 *** 作系统的类型全部的内容,包括:如何用c语言获取当前 *** 作系统的类型、powerbuilder 的时间函数,如何获取当前系统时间、如何获取到文件系统的当前目录等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)