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

📄 编 译.htm

📁 ADS是一种嵌入式常用开发语言
💻 HTM
📖 第 1 页 / 共 4 页
字号:
              face="Arial, Helvetica, sans-serif" size=2>(</FONT><FONT size=2>例如 
              </FONT><FONT face="Arial, Helvetica, sans-serif" size=2>Kanji 
              </FONT><FONT size=2>或 </FONT><FONT 
              face="Arial, Helvetica, sans-serif" size=2>Unicode)</FONT><FONT 
              size=2>,就要选中此项。这样编译器才能正确地处理源代码中的多字节字符;</FONT> 
              <LI><B><FONT size=2>指示到 </FONT><FONT 
              face="Arial, Helvetica, sans-serif" size=2>SOM (Direct to 
              SOM):</FONT></B> <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>CodeWarrior 
              </FONT><FONT size=2>中直接创建 </FONT><FONT 
              face="Arial, Helvetica, sans-serif" size=2>SOM </FONT><FONT 
              size=2>代码。</FONT><FONT face="Arial, Helvetica, sans-serif" 
              size=2>SOM </FONT><FONT size=2>是一种使用于苹果机上的开放文档环境的代码类型,但现在已没人用了; 
              </FONT>
              <LI><B><FONT size=2>使用 </FONT><FONT 
              face="Arial, Helvetica, sans-serif" size=2>CR </FONT><FONT 
              size=2>为换行符</FONT><FONT face="Arial, Helvetica, sans-serif" 
              size=2>(Map Newlines to CR):</FONT></B> <FONT size=2>这个选项允许你交换 
              </FONT><FONT face="Arial, Helvetica, sans-serif" size=2>'\n' 
              </FONT><FONT size=2>和 </FONT><FONT 
              face="Arial, Helvetica, sans-serif" size=2>'\r' (</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>Mac OS </FONT><FONT size=2>上的编程有用;</FONT> 
              <LI><B><FONT size=2>不严格的指针类型规则</FONT><FONT 
              face="Arial, Helvetica, sans-serif" size=2>(Relaxed Pointer Type 
              Rules):</FONT></B> <FONT size=2>选中此项将把 </FONT><FONT 
              face="Arial, Helvetica, sans-serif" size=2>char *, unsigned char 
              *, void * </FONT><FONT size=2>和 </FONT><FONT 
              face="Arial, Helvetica, sans-serif" size=2>Ptr </FONT><FONT 
              size=2>当作是同一种类新。当你从另一个并没有正确管理指针类型的源代码中,或者是从一个使用还不能正确支持这些类型的老编译平台上开发的源代码中继承代码时,这个选项就很有用了;</FONT> 

              <LI><B><FONT size=2>枚举类型总是整型</FONT><FONT 
              face="Arial, Helvetica, sans-serif" size=2>(Enums Always 
              Ints):</FONT></B> <FONT 
              size=2>通常情况下,编译器将一个枚举类型分配与之最接近的类型同样的空间。如果你想使枚举类型的空间总是和整型一样,那么就要选中此项。所谓枚举类型就像这样:</FONT><FONT 
              face="Arial, Helvetica, sans-serif" size=2>enum {itemone, itemtwo 
              = 7, itemthree}</FONT><FONT size=2>。其中,</FONT><FONT 
              face="Arial, Helvetica, sans-serif" size=2>itemone </FONT><FONT 
              size=2>等于 </FONT><FONT face="Arial, Helvetica, sans-serif" 
              size=2>0</FONT><FONT size=2>,</FONT><FONT 
              face="Arial, Helvetica, sans-serif" size=2>itemtwo </FONT><FONT 
              size=2>等于 </FONT><FONT face="Arial, Helvetica, sans-serif" 
              size=2>7</FONT><FONT size=2>,</FONT><FONT 
              face="Arial, Helvetica, sans-serif" size=2>itemthree </FONT><FONT 
              size=2>等于 </FONT><FONT face="Arial, Helvetica, sans-serif" 
              size=2>8</FONT><FONT size=2>; </FONT>
              <LI><B><FONT size=2>使用无符号字符类型</FONT><FONT 
              face="Arial, Helvetica, sans-serif" size=2>(Use Unsigned 
              Chars):</FONT></B> <FONT size=2>选中此项将把所有字符数据类型当作无符号字符类型来处理;</FONT> 

              <LI><B><FONT face="Arial, Helvetica, sans-serif" size=2>EC++ 
              </FONT><FONT size=2>兼容模式</FONT><FONT 
              face="Arial, Helvetica, sans-serif" size=2>(EC++ Compatibility 
              Mode):</FONT></B> <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>C++ (EC++) </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>(templates)</FONT><FONT size=2>、例外</FONT><FONT 
              face="Arial, Helvetica, sans-serif" 
              size=2>(exceptions)</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>
              <LI><B><FONT size=2>允许 </FONT><FONT 
              face="Arial, Helvetica, sans-serif" size=2>Objective C(Enable 
              Objective C):</FONT></B> <FONT size=2>为了使用 </FONT><FONT 
              face="Arial, Helvetica, sans-serif" size=2>Objective C 
              (</FONT><FONT size=2>在 </FONT><FONT 
              face="Arial, Helvetica, sans-serif" size=2>NeXT </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>Mac OS </FONT><FONT 
              size=2>下只用;</FONT> 
              <LI><B><FONT size=2>前缀文件</FONT><FONT 
              face="Arial, Helvetica, sans-serif" size=2>(Prefix 
              File):</FONT></B> <FONT 
              size=2>如果需要在每个源文件中包括一个头或预编译头文件,就要将该文件名输入在此处。适用情况:当所有源文件都要访问一个特殊的定义,但你又不想在每个源文件中键入 
              </FONT><FONT face="Arial, Helvetica, sans-serif" size=2>#include 
              </FONT><FONT size=2>来包括该定义时,使用此选项很方便。</FONT> </LI></UL>
            <P><B><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></B> <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>Windows </FONT><FONT 
            size=2>平台上的 </FONT><FONT face="Arial, Helvetica, sans-serif" 
            size=2>CodeWarrior </FONT><FONT 
            size=2>编译器版本中都是一样的。但根据我们在上面对这些编译器选项的描述可知,一些选项在两个平台上还是有一些不同的。然而,<FONT 
            face="Arial, Helvetica, sans-serif">C </FONT>和 <FONT 
            face="Arial, Helvetica, sans-serif">C++ 
            </FONT>时平台无关的编程语言,因此大多数概念都是可以应用于任何平台的。</FONT><BR><FONT 
            face="Arial, Helvetica, sans-serif" 
            size=2>&nbsp;&nbsp;&nbsp;</FONT></P>
            <HR>

            <P>附原文:</P>
            <P><FONT face="Arial, Helvetica, sans-serif" color=#000000 
            size=3><B><B>Step One: Understanding the Compile 
            Phase</B></B><BR></FONT><BR></P><FONT 
            face="Arial, Helvetica, sans-serif" size=2>
            <P>As I've discussed in previous lessons, compiling your source code 
            is the next step after you type it in. When you compile your source 
            code, your computer parses and analyzes the code that you've written 
            (usually in C or C++) and converts it to <B>machine language.</B> 
            Machine language is a programming language that your computer can 
            understand and act upon much more quickly than C or C++. The life 
            cycle for you and your code looks like this:</P>
            <BLOCKQUOTE>
              <P>1. Write the code in C or C++:</P></BLOCKQUOTE>
            <BLOCKQUOTE><XMP>          <p>#include <stdio.h></XMP>
              <P></P></BLOCKQUOTE>
            <BLOCKQUOTE><XMP>          <p>void main(void) { int c; printf(&quot;Hello World on Windows!\n&quot;); c = getchar(); 
          }</XMP>
              <P></P></BLOCKQUOTE>
            <BLOCKQUOTE>
              <P>2. Choose Compile. CodeWarrior then compiles the code and 
              translates it into machine language: </P></BLOCKQUOTE>
            <P>SYMBOL NAMES:</P>
            <BLOCKQUOTE><XMP>          <p>1: _main 2: _@8 3: _printf 4: ___files 5: _fwide 6: ___get_char 
          =============================================================== SECTION SIZE = 0x0000003C; 
          NAME =?.text DEFINED SYMBOLS: name = _main offset = 0x00000000; type = 0x0020; class = 
          0x0002 00000000: 68 00 00 00 00 push offset _@8 00000005: E8 00 00 00 00 call _printf 
          0000000A: 59 pop ecx 0000000B: 6A FF push -1 0000000D: 68 00 00 00 00 push offset ___files 
          00000012: E8 00 00 00 00 call _fwide 00000017: 85 C0 test eax,eax 00000019: 59 pop ecx 
          0000001A: 59 pop ecx 0000001B: 7D 1E jge $+32 ; --&gt; 0x003b 0000001D: 83 2D 2C 00 00 00 
          sub dword ptr ___files+44,1 00000023: 01 00000024: 72 0A jb $+12 ; --&gt; 0x0030 00000026: 
          FF 05 28 00 00 00 inc dword ptr ___files+40 0000002C: EB 0D jmp $+15 ; --&gt; 0x003b 
          0000002E: 89 C0 mov eax,eax 00000030: 68 00 00 00 00 push offset ___files 00000035: E8 00 
          00 00 00 call ___get_char 0000003A: 59 pop ecx 0000003B: C3 ret near 
          ============================================================= SECTION SIZE = 0x00000019; 
          NAME = .data 00000000: 48 65 6C 6C 6F 20 57 6F 72 6C 64 20 6F 6E 20 57 Hello World on W 
          00000010: 69 6E 64 6F 77 73 21 0A 00 indows! DEFINED SYMBOLS: name = _@8 offset = 
          0x00000000; type = 0x0000; class = 0x0003 
          ==============================================================</XMP>
              <P></P></BLOCKQUOTE>
            <P>That's hard to read, let alone type correctly. Machine code is a 
            bit more difficult for a human to read than C or C++ code. However, 
            it's just what the computer needs, and your application will operate 
            much faster if you compile -- or translate -- it into machine 
            language at the outset than if it has to make that translation every 
            time you ran it.</P></FONT>
            <P><FONT face="Arial, Helvetica, sans-serif" size=2>You can view the 
            disassembly (machine code listing), as we have done above, for any 
            source file by simply clicking on it in the Project window and 
            selecting Disassemble from the Project menu. In fact, the assembly 
            code listing shown above was produced this way. By looking at your C 
            or C++ source code and the disassembled code side by side, you will 
            begin to see the relationships between the two.</FONT><BR></P>
            <P><FONT face="Arial, Helvetica, sans-serif" color=#000000 
            size=3><B><B>A Detailed Look at Compiling Options in 
            CodeWarrior</B></B><BR></FONT><BR></P><FONT 
            face="Arial, Helvetica, sans-serif" size=2>
            <P>Before your code is actually compiled, CodeWarrior preprocesses 
            it. This preprocessing phase prepares the C or C++ code to be 

⌨️ 快捷键说明

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