📄 ads1_2 使用教程 (7)库 - 开发工具 - arm嵌入式资源站.htm
字号:
<P align=center><BR></P></TD></TR>
<TR>
<TD width="100%">
<DIV align=center twffan="done">
<CENTER>
<TABLE cellSpacing=0 cellPadding=0 width="88%" border=0>
<TBODY>
<TR>
<TD class=font width="100%"><FONT color=#000000
size=3><STRONG><STRONG>库</STRONG></STRONG></FONT>
<P><FONT face="Arial, Helvetica, sans-serif"
size=2> </FONT><FONT
size=2>库是什么?这是一个你必须知道如何回答的问题!一个库就是一个包含了你程序运行时需要调用的函数的文件。在库中提供的典型函数有:文件和屏幕的
</FONT><FONT face="Arial, Helvetica, sans-serif"
size=2>I/O </FONT><FONT size=2>函数,内存管理服务,</FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>3-D
</FONT><FONT
size=2>图形显示以及科学计算函数。使用库可以缩短你的开发时间并简化你的应用程序。在开发程序当中,你会经常地使用到库。以下是几种在编程中使用库的方法:</FONT>
</P>
<UL>
<LI><FONT size=2>将你需要用到的函数写在一个源文件中,然后把它编译成为一个库或
</FONT><FONT face="Arial, Helvetica, sans-serif"
size=2>DLL</FONT><FONT size=2>; </FONT>
<LI><FONT size=2>使用别人提供的库;</FONT>
<LI><FONT size=2>使用一个其他人提供的共享库</FONT><FONT
face="Arial, Helvetica, sans-serif"
size=2>(</FONT><FONT size=2>或 </FONT><FONT
face="Arial, Helvetica, sans-serif"
size=2>DLL)</FONT><FONT size=2>。</FONT> </LI></UL>
<P><STRONG><FONT face=幼圆 size=+1>编写你自己的库或</FONT><FONT
size=+1> </FONT><FONT
face="Arial, Helvetica, sans-serif"
size=+1>DLL</FONT></STRONG></P>
<P><FONT face="Arial, Helvetica, sans-serif"
size=2> </FONT><FONT
size=2>第一种使用库的方法很简单。你只需在一个 </FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>C
</FONT><FONT size=2>或 </FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>C++
</FONT><FONT
size=2>源文件中写入源代码,然后编译、连接并执行它。这是我们在本课程中早已学到的知识。就这样你就可以创建你自己的一个库,就这么简单!</FONT></P>
<P><FONT face=幼圆
size=+1><STRONG>使用别人的库</STRONG></FONT></P>
<P><FONT face="Arial, Helvetica, sans-serif"
size=2> </FONT><FONT
size=2>使用别人提供的库稍稍有些不同。由第三方开发商提供的库通常包括以下几个文件:库文件</FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>(</FONT><FONT
size=2>通常是以 </FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>.lib
</FONT><FONT size=2>为后缀名的文件</FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>)</FONT><FONT
size=2>,一个头文件</FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>(</FONT><FONT
size=2>后缀名为 </FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>.h)
</FONT><FONT size=2>以及</FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>(</FONT><FONT
size=2>我们希望有但不一定有</FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>)</FONT><FONT
size=2>一些文档</FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>(</FONT><FONT
size=2>后缀名为</FONT><FONT
face="Arial, Helvetica, sans-serif"
size=2>.doc)</FONT><FONT
size=2>。头文件是用于让编译器将你的程序中使用的函数与库中的函数匹配起来的。你只需将头文件包括到你的源文件中,然后就可以象调用操作系统的函数一样来调用库函数了。在大多数情况下,通常将
</FONT><FONT face="Arial, Helvetica, sans-serif"
size=2>.h </FONT><FONT size=2>和 </FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>.lib
</FONT><FONT size=2>的文件放置于源文件目录中,就像 </FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>CodeWarrior
</FONT><FONT
size=2>定义的一样。这个路径通常在你的工程文件所在的目录,或者其下的子目录中。需要注意的是,</FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>CodeWarrior
</FONT><FONT size=2>提供的某些特定的库,例如它的 </FONT><FONT
face="Arial, Helvetica, sans-serif"
size=2>MSL</FONT><FONT
size=2>,就不是放在你的工程所在的目录中。实际上,</FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>CodeWarrior
</FONT><FONT size=2>有一个特定的存取路径,叫做 </FONT><FONT
face="Arial, Helvetica, sans-serif"
size=2><STRONG>system paths,</STRONG> </FONT><FONT
size=2>它指向 </FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>CodeWarrior
</FONT><FONT size=2>自带的库和头文件存放的目录。</FONT></P>
<P><FONT face=幼圆
size=+1><STRONG>使用一个共享库</STRONG></FONT></P>
<P><FONT face="Arial, Helvetica, sans-serif"
size=2> </FONT><FONT
size=2>第三方厂商将库函数与它们的产品打包起来发行,而不是以源文件的方式发行这些库。如果你是一个开发商,使用这样的方式来发行你的库会更安全一些,特别是你希望由此来保护你的知识产权时。但是这种方法也存在一个问题,就是如果在库中存在一个
</FONT><FONT face="Arial, Helvetica, sans-serif"
size=2>bug </FONT><FONT
size=2>的话,用户是没办法对之进行修改的,只能从开发商那里取得一个修正后的版本。但是这做起来也有许多困难。</FONT></P>
<P><STRONG><FONT face=幼圆 size=+1>共享的</FONT><FONT
size=+1> </FONT><FONT
face="Arial, Helvetica, sans-serif" size=+1>DLL
</FONT></STRONG></P>
<P><FONT face="Arial, Helvetica, sans-serif"
size=2> DLL </FONT><FONT
size=2>和库文件非常相似,两者之间唯独的不同就是库文件通常都会被编译并连接到你的应用程序中,而
</FONT><FONT face="Arial, Helvetica, sans-serif"
size=2>DLL </FONT><FONT
size=2>则是存放在你的系统目录下或者是在编译后的应用程序的目录下的一个独立的文件。当应用程序运行时,它会自己去找到该
</FONT><FONT face="Arial, Helvetica, sans-serif"
size=2>DLL </FONT><FONT size=2>并使用它的服务。</FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>DLL
</FONT><FONT size=2>文件的后缀名为 </FONT><FONT
face="Arial, Helvetica, sans-serif"
size=2>.dll</FONT><FONT size=2>。</FONT></P>
<P><STRONG><FONT face=幼圆 size=+1>使用共享的</FONT><FONT
face="Arial, Helvetica, sans-serif" size=+1>DLLs
</FONT><FONT face=幼圆 size=+1>的好处</FONT></STRONG></P>
<P><FONT face="Arial, Helvetica, sans-serif"
size=2> DLL </FONT><FONT
size=2>的优点就是它能够被共享。那么,共享的好处在哪里呢?首先,可以让多个应用程序使用一个
</FONT><FONT face="Arial, Helvetica, sans-serif"
size=2>DLL</FONT><FONT size=2>。当几个程序都使用一个占用很大磁盘和内存空间的
</FONT><FONT face="Arial, Helvetica, sans-serif"
size=2>DLL </FONT><FONT size=2>时,就很有用了。另外,如果一个
</FONT><FONT face="Arial, Helvetica, sans-serif"
size=2>DLL </FONT><FONT size=2>包含了一个 </FONT><FONT
face="Arial, Helvetica, sans-serif"
size=2>bug</FONT><FONT size=2>,然后被修正了,那么所有使用这个
</FONT><FONT face="Arial, Helvetica, sans-serif"
size=2>DLL </FONT><FONT
size=2>的程序都会被自动更新,这样就可以大大地节约你的开发时间。那么哪种库应该由多个应用程序共享呢?比如操作系统中的每一个视窗就是使用共享的
</FONT><FONT face="Arial, Helvetica, sans-serif"
size=2>DLL </FONT><FONT size=2>得来的。</FONT></P>
<P><STRONG><FONT face=幼圆 size=+1>使用共享</FONT><FONT
size=+1> </FONT><FONT
face="Arial, Helvetica, sans-serif" size=+1>DLL
</FONT><FONT face=幼圆 size=+1>需要注意的地方</FONT></STRONG></P>
<P><FONT face="Arial, Helvetica, sans-serif"
size=2> CodeWarrior IDE </FONT><FONT
size=2>的 </FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>CD-ROM
</FONT><FONT
size=2>中有许多库,在因特网上还有成千上万的库。记住,当你使用第三方厂商的库时,千万要先查查毒。这就如同出门前要关门一样的有必要。</FONT></P>
<P><FONT face="Arial, Helvetica, sans-serif"
size=2> CodeWarrior </FONT><FONT
size=2>自带的库分为两类。一个是 </FONT><FONT
face="Arial, Helvetica, sans-serif"
size=2>MSL</FONT><FONT size=2>,它提供 </FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>ANSI C/C++
</FONT><FONT size=2>的标准函数。</FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>MSL
</FONT><FONT size=2>已经被移植到许多平台上了,因此可以在 </FONT><FONT
face="Arial, Helvetica, sans-serif"
size=2>Windows</FONT><FONT size=2>,</FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>Mac OS
</FONT><FONT size=2>和 </FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>Solaris
</FONT><FONT size=2>系统中使用它的函数。另一个是供特定平台使用的库。例如,在 Windows
版的光盘中,你可以发现提供了使用 </FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>Windows APIs
</FONT><FONT size=2>和 </FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>MFC
</FONT><FONT size=2>库的</FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>Windows 32
</FONT><FONT size=2>支持库,它提供了编写面向对象的 </FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>Windows
</FONT><FONT
size=2>应用程序的框架。随着你的编程经验的增长,你将发现这些特定库的更多的用途。</FONT><BR></P>
<P><STRONG><STRONG><FONT
face="Arial, Helvetica, sans-serif" color=#000000
size=3>MFC</FONT><FONT face=幼圆 color=#000000
size=3>是什么</FONT><FONT
face="Arial, Helvetica, sans-serif" color=#000000
size=3>?</FONT><BR></STRONG></STRONG><BR></P>
<P><FONT face="Arial, Helvetica, sans-serif"
size=2> Microsoft Foundation Classes
(MFC) </FONT><FONT size=2>提供了快速开发 </FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>Windows
</FONT><FONT size=2>应用程序的函数集。虽然你已经可以自由地直接调用 </FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>Win32
APIs</FONT><FONT size=2>,但使用 </FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>MFC
</FONT><FONT size=2>会更简单一些,因为 </FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>MFC
</FONT><FONT
size=2>提供了诸如创建一个窗口或者使用智能默认设置和错误检查代码来编写文件这样的基本服务。</FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>MFC
</FONT><FONT size=2>可以在 </FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>Windows
</FONT><FONT size=2>版的 </FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>CodeWarrior
</FONT><FONT size=2>光盘中找到,但不一定是最新的版本。你可以查看 </FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>Metrowerks
</FONT><FONT size=2>的帮助页面来获得相关信息,因为微软公司会为 </FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>CodeWarrior
</FONT><FONT size=2>的发行版本提供一些升级补丁。</FONT></P>
<P><FONT face="Arial, Helvetica, sans-serif"
size=2> </FONT><FONT
size=2>对于特定平台,比如</FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>Macintosh
</FONT><FONT size=2>的开发者可以使用 </FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>Metrowerks
</FONT><FONT size=2>自己的 </FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>PowerPlant
</FONT><FONT size=2>类库。</FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>PowerPlant
</FONT><FONT size=2>是为编写 </FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>Mac
</FONT><FONT size=2>应用程序而设计的面向对象的应用程序框架。我们在本课程中并不打算讨论
</FONT><FONT face="Arial, Helvetica, sans-serif"
size=2>PowerPlant</FONT><FONT size=2>,但你应知道,它与
</FONT><FONT face="Arial, Helvetica, sans-serif"
size=2>MFC </FONT><FONT
size=2>在许多方面是类似的。你在这里学到的知识也将帮助你理解 </FONT><FONT
face="Arial, Helvetica, sans-serif"
size=2>PowerPlant</FONT><FONT size=2>。我们讨论 </FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>MFC
</FONT><FONT size=2>时,其中的许多概念也可以应用到 </FONT><FONT
face="Arial, Helvetica, sans-serif" size=2>PowerPlant
</FONT><FONT size=2>上。</FONT></P>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -