⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 第四课 连 接.htm

📁 ARM开发环境ADS1.2使用指南,网页格式
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0057)http://www.pdazone.com.cn/develop/CodeWarrior/Lesson4.htm -->
<HTML><HEAD><TITLE>PDA开发</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META http-equiv=Content-Language content=zh-cn>
<STYLE type=text/css>.font {
	FONT-SIZE: 10pt; LINE-HEIGHT: 13pt
}
.fontlittle {
	FONT-SIZE: 9pt
}
A {
	TEXT-TRANSFORM: none; TEXT-DECORATION: none
}
A:hover {
	TEXT-DECORATION: underline
}
</STYLE>

<META content="MSHTML 6.00.2462.0" name=GENERATOR>
<META content=FrontPage.Editor.Document name=ProgId></HEAD>
<BODY>
<DIV align=center>
<CENTER>
<TABLE cellSpacing=0 cellPadding=0 width=650 border=0>
  <TBODY>
  <TR align=middle>
    <TD align=right width="100%"><IMG height=35 
      src="第四课    连  接.files/develop.gif" width=648 border=0> </TD></TR>
  <TR align=middle>
    <TD align=right width="100%"></TD></TR>
  <TR align=middle>
    <TD width="100%"><IMG height=5 src="" width=2 border=0> </TD></TR>
  <TR align=middle>
    <TD class=font width="100%">
      <P align=left>><A href="http://www.pdazone.com.cn/" 
      target=_parent>首页</A>>PDA开发 </P></TD></TR>
  <TR align=middle>
    <TD width="100%"><IMG height=5 src="" width=2 border=0> </TD></TR>
  <TR align=middle>
    <TD width="100%">
      <P align=center><SMALL>CodeWarrior 使用教程</SMALL></P></TD></TR>
  <TR>
    <TD width="100%">
      <P align=center><FONT size=3><B>第四课</B><FONT 
      face="Arial, Helvetica, sans-serif">&nbsp;&nbsp;&nbsp; 
      </FONT><STRONG>连</STRONG>&nbsp; <STRONG>接</STRONG></FONT></P></TD></TR>
  <TR align=middle>
    <TD class=font width="100%">
      <P align=center>Translated from <STRONG><FONT 
      face=Arial>CodeWarriorU.COM</FONT></STRONG></P>
      <P align=center><BR></P></TD></TR>
  <TR>
    <TD width="100%">
      <DIV align=center>
      <CENTER>
      <TABLE cellSpacing=0 cellPadding=0 width="88%" border=0>
        <TBODY>
        <TR>
          <TD class=font width="100%"><STRONG><FONT face=幼圆 color=#000000 
            size=3>第二步:连接程序各部件</FONT></STRONG><BR>
            <P><FONT face="Arial, Helvetica, sans-serif" 
            size=2>&nbsp;&nbsp;&nbsp; </FONT><FONT 
            size=2>当你的程序编译完毕以后,接着就要使用连接器来把这些组成你的程序的各个文件连接起来。</FONT></P>
            <P><FONT face="Arial, Helvetica, sans-serif" 
            size=2>&nbsp;&nbsp;&nbsp; </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>printf() </FONT><FONT 
            size=2>(该函数用来实现功能强大的控制台输入/输出)来替换你在源文件中使用的 </FONT><FONT 
            face="Arial, Helvetica, sans-serif" size=2>printf() </FONT><FONT 
            size=2>函数调用。</FONT></P>
            <P><FONT face="Arial, Helvetica, sans-serif" 
            size=2>&nbsp;&nbsp;&nbsp; </FONT><FONT 
            size=2>当你编写一个程序时,常常将代码写成函数并存放在不同的文件中,然后将这些文件编译得到单个的输出文件。就像我们在前面使用的 
            </FONT><FONT face="Arial, Helvetica, sans-serif" size=2>Hello World 
            </FONT><FONT 
            size=2>这个程序,它的输出文件是一个应用程序。但是在某些时候,同一个程序中使用的函数在输出时不一定是存放在同一个输出文件中的。例如,假设你编写一个应用程序时,其中包含了许多被程序的多个部分重复使用的代码,你就可以将这些被重复使用的代码编译成为一个可共享的动态链接库</FONT><FONT 
            face="Arial, Helvetica, sans-serif" size=2>(DLL)</FONT><FONT 
            size=2>。这样,该应用程序仍然可以访问到这些代码,但是它就需要弄明白应该到哪个文件以及如何找到这些它需要使用的函数。这种情况,就需要做一些连接的工作了。</FONT></P>
            <P><FONT face=幼圆 size=+1><B>连接的类型</B></FONT></P>
            <P><FONT face="Arial, Helvetica, sans-serif" 
            size=2>&nbsp;&nbsp;&nbsp; </FONT><FONT 
            size=2>在程序的编制中,一个连接就是一个指针,指向一个象编译函数这样的对象,或者指向一个变量或一个数组这样的数据内容。连接有两种方式:硬连接(hard 
            linking)和软连接(soft linking)。 </FONT></P>
            <P><FONT face="Arial, Helvetica, sans-serif" 
            size=2>&nbsp;&nbsp;&nbsp; </FONT><FONT 
            size=2>硬连接发生于连接过程中,说明代码的时候。换句话说,如果一个函数被使用了,在连接时连接器确切地知道这个函数在哪里并创建一个连接把这个函数连接起来。</FONT></P>
            <P><FONT face="Arial, Helvetica, sans-serif" 
            size=2>&nbsp;&nbsp;&nbsp; </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>DLL 
            </FONT><FONT size=2>中,并在运行时可以从该 </FONT><FONT 
            face="Arial, Helvetica, sans-serif" size=2>DLL </FONT><FONT 
            size=2>中进行调用。在这种情况下,连接器会告诉应用程序到哪里去找它所需要的代码。</FONT></P>
            <P><FONT face="Arial, Helvetica, sans-serif" 
            size=2>&nbsp;&nbsp;&nbsp; </FONT><FONT 
            size=2>软连接也是计算机操作系统中许多元素使用的方法。接下来,我们一起来学习一些关于连接器的选项设置。</FONT></P>
            <P><B><B><FONT face="Arial, Helvetica, sans-serif" color=#000000 
            size=3>A </FONT><FONT color=#000000 size=3>连接</FONT><FONT 
            face="Arial, Helvetica, sans-serif" color=#000000 size=3>Detailed 
            Look at Linking</B></B><BR></FONT><BR></P>
            <P><FONT face="Arial, Helvetica, sans-serif" 
            size=2>&nbsp;&nbsp;&nbsp; </FONT><FONT size=2>为了将来能更好地领略 
            </FONT><FONT face="Arial, Helvetica, sans-serif" size=2>CodeWarrior 
            for Windows </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><B>根据你的要求来配置连接器</B></FONT></P>
            <P><FONT face="Arial, Helvetica, sans-serif" 
            size=2>&nbsp;&nbsp;&nbsp; </FONT><FONT size=2>本课中使用的示例是运行在 
            </FONT><FONT face="Arial, Helvetica, sans-serif" size=2>x86 
            </FONT><FONT size=2>平台上的</FONT><FONT 
            face="Arial, Helvetica, sans-serif" size=2>&nbsp; CodeWarrior 
            </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>4-1)</FONT><FONT size=2>。但是在这其中使用的很多术语也是适用于其它平台上的 
            </FONT><FONT face="Arial, Helvetica, sans-serif" size=2>CodeWarrior 
            </FONT><FONT size=2>连接器的。</FONT></P><FONT 
            face="Arial, Helvetica, sans-serif" size=2>
            <DIV align=center>
            <CENTER>
            <TABLE cellSpacing=0 cellPadding=0 border=0>
              <TBODY></FONT>
              <TR>
                <TD><FONT size=2><IMG height=421 
                  alt="Figure. 4-1 The x86 linker settings window." 
                  src="第四课    连  接.files/icwwL4_fig1.gif" width=627 align=left> 
                  </FONT></TD></TR>
              <TR>
                <TD align=middle>
                  <P align=center><I><FONT size=1>图 </FONT><FONT 
                  face="Arial, Helvetica, sans-serif" size=1>4-1&nbsp; x86 
                  </FONT><FONT 
            size=1>连接器设置窗口</FONT></I></P></TD></TR></TBODY></TABLE></CENTER></DIV>
            <P><FONT face="Arial, Helvetica, sans-serif" 
            size=2>&nbsp;&nbsp;&nbsp; </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>Hello World 
            x86)</FONT><FONT size=2>,然后点击设置窗口中的 </FONT><FONT 
            face="Arial, Helvetica, sans-serif" size=2>x86 </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></P>
            <P><FONT face="Arial, Helvetica, sans-serif" 
            size=2>&nbsp;&nbsp;&nbsp; </FONT><FONT 
size=2>下面我们来看看一些连接器设置项:</FONT>
            <UL>
              <LI><B><FONT size=2>入口点用法</FONT><FONT 
              face="Arial, Helvetica, sans-serif" size=2>(Entry Point 
              Usage):</B> </FONT><FONT size=2>在 </FONT><FONT 
              face="Arial, Helvetica, sans-serif" size=2>Windows OS </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>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>(</FONT><FONT 
              size=2>如图</FONT><FONT face="Arial, Helvetica, sans-serif" 
              size=2>4-1</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>CodeWarrior </FONT><FONT 
              size=2>根据你在目标文件设置面板中选择的目标文件类型,来自动地为输出文件设置正确的入口点;</FONT> 
              <LI><B><FONT size=2>子系统</FONT><FONT 
              face="Arial, Helvetica, sans-serif" size=2>(Subsystem): 
              </FONT></B><FONT size=2>子系统有三种选择:</FONT><FONT 
              face="Arial, Helvetica, sans-serif" size=2>Native</FONT><FONT 
              size=2>、 </FONT><FONT face="Arial, Helvetica, sans-serif" 
              size=2>Windows CUI </FONT><FONT size=2>和 </FONT><FONT 
              face="Arial, Helvetica, sans-serif" size=2>Windows GUI</FONT><FONT 
              size=2>。</FONT><FONT face="Arial, Helvetica, sans-serif" 
              size=2>Native </FONT><FONT size=2>选项是用于开发驱动程序和其它异种系统模块的; 
              </FONT><FONT face="Arial, Helvetica, sans-serif" size=2>Windows 
              CUI </FONT><FONT size=2>选项是用于开发使用控制台风格用户界面</FONT><FONT 
              face="Arial, Helvetica, sans-serif" size=2>( console-style user 
              interface</FONT><FONT size=2>,所谓的</FONT><FONT 
              face="Arial, Helvetica, sans-serif" size=2>CUI )</FONT><FONT 
              size=2>的应用程序的;</FONT><FONT face="Arial, Helvetica, sans-serif" 
              size=2>Windows GUI </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>(Windows graphic user interface</FONT><FONT size=2>,所谓的 
              </FONT><FONT face="Arial, Helvetica, sans-serif" size=2>GUI 
              )</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>CUI </FONT><FONT 
              size=2>子系统。通常情况下,</FONT><FONT face="Arial, Helvetica, sans-serif" 
              size=2>CodeWarrior </FONT><FONT 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -