你可能不知道Windows系统下有一个UNIX子系统
作者:朱金灿
来源:hhttp://blog.csdn.net/clever101
请看下面一段代码:
#include <time.h> #include <sys/types.h> #include <sys/stat.h> #include <stdio.h> #include <errno.h> int main( void ) { struct _stat buf; int result; char timebuf[26]; char* filename = "F://MyTest//MyTest//src//TestUnix//stdafx.h"; errno_t err; // Get data associated with "crt_stat.c": result = _stat( filename, &buf ); // Check if statistics are valid: if( result != 0 ) { perror( "Problem getting information" ); switch (errno) { case ENOENT: printf("File %s not found./n", filename); break; case EINVAL: printf("Invalid parameter to _stat./n"); break; default: /* Should never be reached. */ printf("Unexpected error in _stat./n"); } } else { // Output some of the statistics: printf( "File size : %ld/n", buf.st_size ); printf( "Drive : %c:/n", buf.st_dev + 'A' ); err = ctime_s(timebuf, 26, &buf.st_mtime); if (err) { printf("Invalid arguments to ctime_s."); return 1; } printf( "Time modified : %s", timebuf ); } getchar(); return 0; }
熟悉unix或linux平台开发的朋友可能以为它是在unix或linux平台开发的。实际上它是MSDN Library for Visual Studio 2005上的一个例子,可以在VS C++ 2005上成功编译(多字节字符集编译)。
开始我也不太明白为何Windows系统有unix的头文件。最近看了《Windows操作系统原理》才彻底明白了。究其原因,Windows 2000/XP有三种环境子系统:POSIX/UNIX、OS/2和Win32(OS/2只能用于x86系统)。因为有了POSIX/UNIX这个子系统,自然也就有了一个UNIX SDK,所以出现上面的头文件就不足为奇了。事实上微软的发展和unix系统是有一些渊源的:微软历史上曾推出过unix操作系统;windows系统的很多核心开发人员都是资深的unix操作系统的设计和开发人员。
那么这个POSIX/UNIX这个子系统有什么用呢?POSIX代表了UNIX类型的操作系统的国际标准集,它鼓励制造商实现兼容的UNIX风格接口,以使编程者很容易地将他们的应用程序从一个系统移到另一个系统。正因为具有这个特点,很多软件底层(想实现跨平台)、跨平台库喜欢调用UNIX SDK中的函数。我在著名的开源图像库GDAL就见过UNIX SDK中的函数。不过Windows 2000/XP只实现了POSIX.1标准(ISO/IEC 9945-11990或IEEE POSIX 1003.1-1990)。所需的POSIX一致性文档位于Platform SDK中的/HELP目录中。
参考文献:
1. MSDN Library for Visual Studio 2005,Microsoft Corporation
2. 《Windows操作系统原理》,尤晋元 史美林 陈向群 向勇 王雷 马洪兵 郑扣根 马洪兵 编著
转载于:https://www.cnblogs.com/lanzhi/archive/2009/06/09/6471148.html
你可能不知道Windows系统下有一个UNIX子系统相关推荐
- python修改文件格式为unix_软件测试技术之如何用python在Windows系统下,生成UNIX格式文件...
本文将带你了解软件测试技术之如何用python在Windows系统下,生成UNIX格式文件,希望对大家学测试技术有所帮助 如何用python在Windows系统下,生成UNIX格式文件 平时测试工作中 ...
- python将字符串s和换行符写入文件fp_软件测试技术之如何用python在Windows系统下,生成UNIX格式文件...
本文将带你了解软件测试技术之如何用python在Windows系统下,生成UNIX格式文件,希望对大家学测试技术有所帮助 如何用python在Windows系统下,生成UNIX格式文件 平时测试工作中 ...
- python将文件转成linux格式,怎么用python在Windows系统下,生成UNIX格式文件
如何用python在Windows系统下,生成UNIX格式文件 平时测试工作中,少不了制造测试数据.最近一个项目,我就需要制造一批可在UNIX下正确读取的文件.为确保这批文件能从FTP下载成功,开发叮 ...
- 如何利用python在一个文档里xie'ru_如何用python在Windows系统下,生成UNIX格式文件...
平时测试工做中,少不了制造测试数据.最近一个项目,我就须要制造一批可在UNIX下正确读取的文件.为确保这批文件能从FTP下载成功,开发叮嘱我:"文件中凡是遇到换行,换行符必须是UNIX下的L ...
- Windows系统下制作一个记事本以语音方式读出你输入的文字 以及放到开机启动项,开机自启动读出语音!
右键新建一个记事本,输入下面代码: 代码: createobject("SAPI.spvoice").speak"123" 在speak里面输入你想让他读出来的 ...
- NSIS(Nullsoft Scriptable Install System)开源安装程序制作软件使用详细步骤(Windows系统下)
NSIS(Nullsoft Scriptable Install System)开源安装程序制作软件使用详细步骤(Windows系统下)安装包制作 1.软件详情 软件版本 版本说明 翻译跟进 2.教程 ...
- windows10 oracle自动备份,Windows系统下oracle 自动备份数据库
Windows系统下oracle 自动备份数据库 1.创建批处理文件(.bat) 2.建立windows 定时任务 2.1创建任务 2.2 常规处 ->填写任务名称 2.3触发器 2.4 操作 ...
- 转: windows系统下mysql出现Error 1045(28000) Access Denied for user 'root'@'localhost'
windows系统下mysql出现Error 1045(28000) Access Denied for user 'root'@'localhost' 转自 http://zxy5241.space ...
- windows系统下的Qt安装
Qt Creator下载和安装(详细教程) 简介 Qt是跨平台的图形开发库,目前由Digia全资子公司 Qt Company 独立运营,官方网址: http://www.qt.io/ 也可以访问Q ...
最新文章
- 常见的集合容器应当避免的坑
- .net 访问 geoserver 发布的 wms 跨域问题解决方案
- 交换和路由的区别?VLAN的特点?
- Exchange 2007 迁移 2010
- 信用贷款额度是怎么确定的?
- Unity3D Shader入门指南(二)
- 51单片机雾化片自动扫频程序_单片机简介
- 这两年多我写PHP业务代码的方式是如何进化的
- 常用正则验证(邮箱、手机号、密码)
- 自己组装服务器计算机,深度学习服务器组装经验过程分享
- Ajax Accordion(可折叠) 动态生成菜单
- delphi用IdTCPServer和IdTCPClient传输文件
- Jstorm到Flink 在今日头条的迁移实践
- rpcbind 、nfs无法启动问题
- MyBatis学习——第五篇(手动分页和pagehelper分页实现)
- ESP32 AT指令集 BT SPP测试
- map字符串转json格式
- Python多进程 struct.error: ‘i‘ format
- 程序员浪漫表白小程序
- 五、Sql Server 基础培训《进度5-数据类型(知识点+实际操作)》
热门文章
- HTML5游戏开发(三):使用webpack构建TypeScript应用
- 发展光伏产业 破解大气污染之困
- 数据泵避免个别表数据的导出
- Java基础复习(1) 为什么在java中我们要将main定义为一个static方法?
- Linux 后台开发常用命令目录(更新 ing)
- H5 获取连接参数,判断是否是手机端
- 2017-2018-1 20155321 20155330 《信息安全系统设计基础》实验四——外设驱动程序设计...
- 2017.10.3 国庆清北 D3T2 公交车
- 我和ASP.NET MVC有个约会
- 软件工程期末考试 AHNU