Canonical和微软在一起了

微软Build2016大会宣布与Canonical合作,使Windows 10能够通过容器方式运行Ubuntu系统,主要服务于开发者,利用Bash和其他CLI工具增强开发体验。
导读微软的Build 2016开发者将于今天晚上23点30分在美国旧金山莫斯康展览中心召开。援引外媒ZDNet报道,在本次大会上将会宣布Canonical和微软公司之间进行的重要合作,最终目的在是可以在Windows 10系统上运行Ubuntu系统。

由于微软方面的严苛保密,目前尚未有足够多的细节公布,但是消费者不要期望直接在Windows 10系统上运行Ubuntu系统,而更像是微软会在Windows 10系统中整合可运行Ubuntu系统的容器(container),事实上在今年早些时候曝光的预览版系统中已经被曝光运行Linux子系统。
ubuntuwindows
项目的种种功能并非适用于普通消费者,更多的是为开发者提供便利。此外两家公司的合作还将允许Ubuntu系统运行某些Windows库,并会逐渐减少对Unity界面的依赖,而是依靠Bash和一系列CLI工具(包括make, gawk和 grep)

本文转载自:http://www.linuxprobe.com/canonical-windows-together

免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:http://www.linuxprobe.com/

### 功能概述 - **realpath**:`realpath` 是 C 标准库中的函数,其主要功能是将一个相对路径转换为绝对路径,并且会解析路径中的符号链接,最终返回一个指向绝对路径的字符串。若路径不存在或者有其他错误发生,函数会返回 `NULL`。 - **boost::filesystem::canonical**:`boost::filesystem::canonical` 是 Boost 库中 `filesystem` 模块的一个函数,它同样用于将路径转换为规范形式。规范形式即绝对路径,同时会解析符号链接,并且会检查路径是否存在。 ### 区别 - **跨平台性**:`realpath` 是标准 C 库的一部分,在大多数类 Unix 系统上可用,但在 Windows 系统上没有直接对应的函数。而 `boost::filesystem::canonical` 是 Boost 库的一部分,具有良好的跨平台性,可在多种操作系统上使用。 - **错误处理**:`realpath` 在遇到错误时返回 `NULL`,并设置 `errno` 来指示错误类型。`boost::filesystem::canonical` 则通过抛出异常来处理错误,例如 `filesystem_error` 异常,这使得错误处理更加 C++ 风格。 - **依赖**:使用 `realpath` 只需包含 `<stdlib.h>` 头文件,无需额外的库依赖。而使用 `boost::filesystem::canonical` 需要安装 Boost 库,并且在编译时链接相应的库。 ### 使用方法 #### realpath ```c #include <stdio.h> #include <stdlib.h> int main() { char resolved_path[PATH_MAX]; const char *relative_path = "test.txt"; if (realpath(relative_path, resolved_path) != NULL) { printf("Resolved path: %s\n", resolved_path); } else { perror("realpath"); } return 0; } ``` #### boost::filesystem::canonical ```cpp #include <iostream> #include <boost/filesystem.hpp> namespace fs = boost::filesystem; int main() { try { fs::path relative_path("test.txt"); fs::path canonical_path = fs::canonical(relative_path); std::cout << "Canonical path: " << canonical_path << std::endl; } catch (const fs::filesystem_error& e) { std::cerr << "Error: " << e.what() << std::endl; } return 0; } ``` ### 编译命令 - 对于 `realpath` 的代码,使用以下命令编译: ```sh gcc -o realpath_example realpath_example.c ``` - 对于 `boost::filesystem::canonical` 的代码,使用以下命令编译: ```sh g++ -o boost_canonical_example boost_canonical_example.cpp -lboost_filesystem -lboost_system ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值