教科书系统程式.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
教科书系统程式

系統程式 – 理論與實務 第 6 章、巨集處理器 作者:陳鍾誠 旗標出版社 第 6 章、巨集處理器 6.1 組合語言的巨集 6.2 巨集處理的演算法 6.3 實務案例:C 語言的巨集 簡介:巨集處理器 巨集處理器 (Macro Processor) 乃是一種方便程式撰寫者使用, 避免重複撰寫程式的工具 在程式被編譯前, 巨集處理器會先將程式當中的巨集展開, 然後再交給編譯器或組譯器進一步處理。 6.1 組合語言的巨集 巨集處理器的動作 巨集展開 將巨集的內容嵌入到呼叫行上,並整個展開 參數取代 將巨集參數取代為呼叫參數 標記編號 為標記加上編號, 以避免重複的狀況。 6.2 巨集處理的演算法 通常分為兩輪 (2-Pass) 進行處理 第一輪:定義巨集 將巨集內容儲存到記憶體表格中。 第二輪:展開巨集 在呼叫時展開巨集,並進行參數取代與標記編號等動作。 單層巨集處理器的演算法 6.3 實務案例:C 語言的巨集 在 C 語言的設計中, 有兩種巨集宣告方式 方式一: 使用 #define 指令宣告巨集函數 方式二: 利用 inline 指令, 讓一般函數改為巨集函數 方式一較為常用,本節將以#define為例 C 語言的巨集展開 使用 gcc 加上 –E 參數,可以將巨集展開 條件式展開 不加 DEBUG:gcc -E macroDebug.c -o MacroDebug_E.c 有加 DEBUG:gcc -E -D_DEBUG_ macroDebug.c -o MacroDebug_DEBUG_E.c 習題 6.1 請說明巨集處理器的輸入、輸出與功能為何? 6.2 請說明巨集處理器會如何處理巨集參數? 6.3 請說明巨集處理器在展開標記時會產生甚麼問題, 應如何解決? 6.4 請使用 gcc 工具將範例 6.2 展開, 觀察展開後的檔案, 並說明展開前後的對應關係。 6.5 請使用 gcc 工具將範例 6.3 展開, 觀察展開後的檔案, 並說明展開前後的對應關係 系統程式 – 理論與實務

文档评论(0)

sunshaoying + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档