Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
第 6 章、巨集處理器
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
陳鍾誠
June 08, 2022
Education
180
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
第 6 章、巨集處理器
陳鍾誠
June 08, 2022
More Decks by 陳鍾誠
See All by 陳鍾誠
第 7 章、高階語言
ccckmit
0
260
第 9 章、虛擬機器
ccckmit
0
180
第 8 章、編譯器
ccckmit
0
320
數學、程式和機器
ccckmit
2
920
語言處理技術
ccckmit
0
270
微積分
ccckmit
1
620
系統程式 第 1 章 -- 系統軟體
ccckmit
0
660
系統程式 第 2 章 -- 電腦的硬體結構
ccckmit
0
630
系統程式 第 3 章 -- 組合語言
ccckmit
0
520
Other Decks in Education
See All in Education
吉岡研究室紹介(2026年度)
kentaroy47
0
230
INTRODUCTION TO THE CELL
pawan_pharm
0
320
2026年度春学期 統計学 第15回 分布についての仮説を検証する ― 仮説検定(2) (2026. 7. 9)
akiraasano
PRO
0
150
Carbohydrates: Classification, Structure & Chemical Properties
pawan_pharm
0
320
生成AI時代に身につけるべき力を学ぶ/opcam2026
okana2ki
0
110
人間のために、人間と共に働く時代の終わりの始まり
frievea
0
220
Draft Lesson Plan on the History of Information and Communication (included Submarine Cables)
shuichikishida
0
140
学生のうちに考えておきたい信頼の話
suisan
1
820
Web Architectures - Lecture 2 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
NT函館2026mini LT 電子部品店とMakerイベント
tomit3
1
120
【デザイナー就活講座】 デザイナー就活市場・企業探し・ポートフォリオのポイント
koheihasebe
0
700
形骸化しない社内勉強会の取り組み - オーナーシップの作り方 / In-house study session
soudai
PRO
1
390
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
How to build a perfect <img>
jonoalderson
1
6.1k
Chasing Engaging Ingredients in Design
codingconduct
0
340
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
Design in an AI World
tapps
1
350
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
790
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
350
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Optimizing for Happiness
mojombo
378
71k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
540
Java REST API Framework Comparison - PWX 2021
mraible
34
9.7k
The SEO identity crisis: Don't let AI make you average
varn
0
580
Transcript
第 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 展開, 觀察展開後的檔 案, 並說明展開前後的對應關係