虚拟机安装MacOS教程Word格式文档下载.docx

上传人:b****2 文档编号:3469565 上传时间:2023-05-01 格式:DOCX 页数:40 大小:2.72MB
下载 相关 举报
虚拟机安装MacOS教程Word格式文档下载.docx_第1页
第1页 / 共40页
虚拟机安装MacOS教程Word格式文档下载.docx_第2页
第2页 / 共40页
虚拟机安装MacOS教程Word格式文档下载.docx_第3页
第3页 / 共40页
虚拟机安装MacOS教程Word格式文档下载.docx_第4页
第4页 / 共40页
虚拟机安装MacOS教程Word格式文档下载.docx_第5页
第5页 / 共40页
虚拟机安装MacOS教程Word格式文档下载.docx_第6页
第6页 / 共40页
虚拟机安装MacOS教程Word格式文档下载.docx_第7页
第7页 / 共40页
虚拟机安装MacOS教程Word格式文档下载.docx_第8页
第8页 / 共40页
虚拟机安装MacOS教程Word格式文档下载.docx_第9页
第9页 / 共40页
虚拟机安装MacOS教程Word格式文档下载.docx_第10页
第10页 / 共40页
虚拟机安装MacOS教程Word格式文档下载.docx_第11页
第11页 / 共40页
虚拟机安装MacOS教程Word格式文档下载.docx_第12页
第12页 / 共40页
虚拟机安装MacOS教程Word格式文档下载.docx_第13页
第13页 / 共40页
虚拟机安装MacOS教程Word格式文档下载.docx_第14页
第14页 / 共40页
虚拟机安装MacOS教程Word格式文档下载.docx_第15页
第15页 / 共40页
虚拟机安装MacOS教程Word格式文档下载.docx_第16页
第16页 / 共40页
虚拟机安装MacOS教程Word格式文档下载.docx_第17页
第17页 / 共40页
虚拟机安装MacOS教程Word格式文档下载.docx_第18页
第18页 / 共40页
虚拟机安装MacOS教程Word格式文档下载.docx_第19页
第19页 / 共40页
虚拟机安装MacOS教程Word格式文档下载.docx_第20页
第20页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

虚拟机安装MacOS教程Word格式文档下载.docx

《虚拟机安装MacOS教程Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《虚拟机安装MacOS教程Word格式文档下载.docx(40页珍藏版)》请在冰点文库上搜索。

虚拟机安装MacOS教程Word格式文档下载.docx

FreeBSD64-bit。

CPU设置1核可以,2核也可以,如果你是双核CPU,建议你分配1个核;

内存建议设置为1024MB,如果你的物理内存够大也可以多给些;

硬盘最少分配15GB,太小则无法进行安装,如果你还想多装些软件,建议多分配一些。

最后一步可以在CustomizeHardware选项里把软驱删除,因为这个用不上。

  创建好之后,需要你在刚建立的虚拟机目录下找到一个扩展名为.vmx的文件,用记事本打开,找到guestOS="

freebsd-64"

一行,将引号里的freebsd-64改为darwin10,改完是guestOS="

darwin10"

,保存修改后的文件。

  做了这一步,在这个虚拟机的Options->

General选项下就可以看到操作系统版本显示为:

MACOSXServer10.6,如下图所示。

仍显示为FreeBSD64-bit的需要重启一下VMWare。

如果运行不了后面介绍的MACOSX安装程序,很可能是忽略了这步或者修改错了。

  接下来我们就要开始安装了。

安装的第一步是用Darwin.iso或者RebelEFI.iso镜像进行引导。

先装载镜像文件:

在刚才建立的虚拟机Settings->

Hardware中,选择CD/DVD(IDE)设备,选择右侧的UseISOimagefile,点Browse加载Darwin.iso或者RebelEFI.iso。

装载完镜像文件后,现在启动虚拟机。

  先演示使用RebelEFI镜像启动,引导完成后就能看到如下图的界面:

按照屏幕提示等待10秒或者按'

1'

键,选择当前光盘驱动器。

此时会出现如下图所示的界面:

这里提示请插入MACOSX的DVD光盘。

  此时我们再次打开这个虚拟机的Settings->

Hardware,找到CD/DVD(IDE)设备(你可以双击VMWare窗口右下角的光盘图标来快速打开,如图:

),将刚才的RebelEFI镜像替换为苹果系统的DMG镜像;

点Browse,将文件类型CD-ROMimages(*.iso)改为Allfiles(*.*)就能浏览到DMG文件了。

  这里有一个关键地方:

选择DMG镜像文件后,将下图所示Devicestatus里的Connected前打上勾(否则不能进入安装界面),然后确定。

此时,我们便进入了MACOSX的安装程序准备阶段。

有的同学使用RebelEFI引导可能会出现禁止符号,无法安装,如下图所示:

遇到这个问题可以使用Darwin镜像替换RebelEFI,并重新启动虚拟机。

在出现下图所示界面后,在CD/DVD(IDE)设备里将Darwin镜像改为苹果的DMG镜像即可,同样记得给“Connected”选项打勾。

雷世尧标注:

ThinkpadT4002767Lu1无法使用REBEL,使用Darwin时没有图形界面,出现插入光驱提示符后更换虚拟光盘即可,安装过程可能需要重启一次,按原方法操作即可

经过一阵准备阶段就进入了苹果系统的安装过程,如下图所示:

在这里特别提一下,有的同学在进行到选择安装盘的步骤时看不到硬盘选项,不要着急,在屏幕上方的菜单中找到“实用工具”->

“磁盘工具”,如图所示:

对你的虚拟硬盘执行“抹掉”操作,如图所示:

操作完成后关闭“磁盘工具”窗口就OK了,如图所示:

根据你的电脑配置不同,大概进行几十分钟的安装,你就可以用上苹果操作系统了。

看到下图的界面,表示你的系统已经安装完成,需要重新启动。

重新启动前你要特别注意,先要去掉安装时在CD/DVD(IDE)设备上加载的苹果DMG镜像,换上Darwin或者RebelEFI引导镜像,否则你将不能成功引导安装好的MACOSX系统。

 

附录资料:

不需要的可以自行删除

libxml2应用实例

Libxml2是一个xml的c语言版的解析器,本来是为Gnome项目开发的工具,是一个基于MITLicense的免费开源软件。

它除了支持c语言版以外,还支持c++、PHP、Pascal、Ruby、Tcl等语言的绑定,能在Windows、Linux、Solaris、MacOsX等平台上运行。

功能还是相当强大的,相信满足一般用户需求没有任何问题。

二、Libxml2安装:

一般如果在安装系统的时候选中了所有开发库和开发工具的话(FedoraCore系列下),应该不用安装,下面介绍一下手动安装:

1)从xmlsoft站点或ftp(ftp.xmlsoft.org)站点下载libxml压缩包(libxml2-xxxx.tar.gz)

2)对压缩包进行解压缩 

tarxvzflibxml2-xxxx.tar.gz

3)进入解压缩后的文件夹中运行

 

./configure--prefix/home/user/myxml/xmlinst(此处为待安装的路径)或者直接使用./configure 

make

makeinstall

4) 

添加路径

exportPATH=/home/user/myxml/xmlinst/bin:

$PATH

说明:

为了结构清晰,最好将libxml2不安装在解压目录中。

安装完成后就可以使用简单的代码解析XML文件,包括本地和远程的文件,但是在编码上有一些问题。

Libxml默认只支持UTF-8的编码,无论输入输出都是UTF-8,所以如果你解析完一个XML得到的结果都是UTF-8的,如果需要输出GB2312或者其它编码,需要ICONV来做转码(生成UTF-8编码的文件也可以用它做),如果系统中没有安装iconv的话,需要安装libiconv。

1)下载libiconv压缩包(例如libiconv-1.11.tar.gz)

2)对压缩包进行解压缩 

tarxvzflibiconv-1.11.tar.gz

3)进入解压缩后的文件夹中运行

./configure

三、关于XML:

在开始研究Libxml2库之前,先了解一下XML的相关基础。

XML是一种基于文本的格式,它可用来创建能够通过各种语言和平台访问的结构化数据。

它包括一系列类似HTML的标记,并以树型结构来对这些标记进行排列。

例如,可参见清单1中介绍的简单文档。

为了更清楚地显示XML的一般概念,下面是一个简化的XML文件。

清单1.一个简单的XML文件

<

?

xmlversion="

1.0"

encoding="

UTF-8"

>

<

files>

owner>

root<

/owner>

action>

delete<

/action>

ageunits="

days"

10<

/age>

/files>

清单1中的第一行是XML声明,它告诉负责处理XML的应用程序,即解析器,将要处理的XML的版本。

大部分的文件使用版本1.0编写,但也有少量的版本1.1的文件。

它还定义了所使用的编码。

大部分文件使用UTF-8,但是,XML设计用来集成各种语言中的数据,包括那些不使用英语字母的语言。

接下来出现的是元素。

一个元素以开始标记开始(如<

),并以结束标记结束(如<

),其中使用斜线(/)来区别于开始标记。

元素是Node的一种类型。

XML文档对象模型(DOM)定义了几种不同的Nodes类型,包括:

Elements(如files或者age)

Attributes(如units)

Text(如root或者10)

元素可以具有子节点。

例如,age元素有一个子元素,即文本节点10。

XML解析器可以利用这种父子结构来遍历文档,甚至修改文档的结构或内容。

LibXML2是这样的解析器中的其中一种,并且文中的示例应用程序正是使用这种结构来实现该目的。

对于各种不同的环境,有许多不同的解析器和库。

LibXML2是用于UNIX环境的解析器和库中最好的一种,并且经过扩展,它提供了对几种脚本语言的支持,如Perl和Python。

四、 

Libxml2中的数据类型和函数

一个函数库中可能有几百种数据类型以及几千个函数,但是记住大师的话,90%的功能都是由30%的内容提供的。

对于libxml2,我认为搞懂以下的数据类型和函数就足够了。

1) 

内部字符类型xmlChar

xmlChar是Libxml2中的字符类型,库中所有字符、字符串都是基于这个数据类型。

事实上它的定义是:

xmlstring.h

typedefunsignedcharxmlChar;

使用unsignedchar作为内部字符格式是考虑到它能很好适应UTF-8编码,而UTF-8编码正是libxml2的内部编码,其它格式的编码要转换为这个编码才能在libxml2中使用。

还经常可以看到使用xmlChar*作为字符串类型,很多函数会返回一个动态分配内存的xmlChar*变量,使用这样的函数时记得要手动删除内存。

2) 

xmlChar相关函数

如同标准c中的char类型一样,xmlChar也有动态内存分配、字符串操作等相关函数。

例如xmlMalloc是动态分配内存的函数;

xmlFree是配套的释放内存函数;

xmlStrcmp是字符串比较函数等等。

基本上xmlChar字符串相关函数都在xmlstring.h中定义;

而动态内存分配函数在xmlmemory.h中定义。

3) 

xmlChar*与其它类型之间的转换

另外要注意,因为总是要在xmlChar*和char*之间进行类型转换,所以定义了一个宏BAD_CAST,其定义如下:

#defineBAD_CAST(xmlChar*)

原则上来说,unsignedchar和char之间进行强制类型转换是没有问题的。

4)文档类型xmlDoc、指针xmlDocPtr

xmlDoc是一个struct,保存了一个xml的相关信息,例如文件名、文档类型、子节点等等;

xmlDocPtr等于xmlDoc*,它搞成这个样子总让人以为是智能指针,其实不是,要手动删除的。

xmlNewDoc函数创建一个新的文档指针。

xmlParseFile函数以默认方式读入一个UTF-8格式的文档,并返回文档指针。

xmlReadFile函数读入一个带有某种编码的xml文档,并返回文档指针;

细节见libxml2参考手册。

xmlFreeDoc释放文档指针。

特别注意,当你调用xmlFreeDoc时,该文档所有包含的节点内存都被释放,所以一般来说不需要手动调用xmlFreeNode或者xmlFreeNodeList来释放动态分配的节点内存,除非你把该节点从文档中移除了。

一般来说,一个文档中所有节点都应该动态分配,然后加入文档,最后调用xmlFreeDoc一次释放所有节点申请的动态内存,这也是为什么我们很少看见xmlNodeFree的原因。

xmlSaveFile将文档以默认方式存入一个文件。

xmlSaveFormatFileEnc可将文档以某种编码/格式存入一个文件中。

5) 

节点类型xmlNode、指针xmlNodePtr

节点应该是xml中最重要的元素了,xmlNode代表了xml文档中的一个节点,实现为一个struct,内容很丰富:

tree.h

typedefstruct_xmlNodexmlNode;

typedefxmlNode*xmlNodePtr;

struct_xmlNode{

void 

*_private;

/*applicationdata*/

xmlElementType 

type;

/*typenumber,mustbesecond!

*/

constxmlChar 

*name;

/*thenameofthenode,ortheentity*/

struct_xmlNode*children;

/*parent->

childslink*/

struct_xmlNode*last;

/*lastchildlink*/

struct_xmlNode*parent;

/*child->

parentlink*/

struct_xmlNode*next;

/*nextsiblinglink 

*/

struct_xmlNode*prev;

/*previoussiblinglink 

struct_xmlDoc 

*doc;

/*thecontainingdocument*/

/*Endofcommonpart*/

xmlNs 

*ns;

/*pointertotheassociatednamespace*/

xmlChar 

*content;

/*thecontent*/

struct_xmlAttr*properties;

/*propertieslist*/

*nsDef;

/*namespacedefinitionsonthisnode*/

*psvi;

/*fortype/PSVIinformations*/

unsignedshort 

line;

/*linenumber*/

extra;

/*extradataforXPath/XSLT*/

};

可以看到,节点之间是以链表和树两种方式同时组织起来的,next和prev指针可以组成链表,而parent和children可以组织为树。

同时还有以下重要元素:

● 

节点中的文字内容:

content;

节点所属文档:

doc;

节点名字:

name;

节点的namespace:

ns;

节点属性列表:

properties;

Xml文档的操作其根本原理就是在节点之间移动、查询节点的各项信息,并进行增加、删除、修改的操作。

xmlDocSetRootElement函数可以将一个节点设置为某个文档的根节点,这是将文档与节点连接起来的重要手段,当有了根结点以后,所有子节点就可以依次连接上根节点,从而组织成为一个xml树。

6) 

节点集合类型xmlNodeSet、指针xmlNodeSetPtr

节点集合代表一个由节点组成的变量,节点集合只作为Xpath的查询结果而出现(XPATH的介绍见后面),因此被定义在xpath.h中,其定义如下:

/*

*Anode-set(anunorderedcollectionofnodeswithoutduplicates).

typedefstruct_xmlNodeSetxmlNodeSet;

typedefxmlNodeSet*xmlNodeSetPtr;

struct_xmlNodeSet{

intnodeNr;

/*numberofnodesintheset*/

intnode

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2