科技生活動態:什么是宏

導讀跟大家講解下有關什么是宏,相信小伙伴們對這個話題應該也很關注吧,現在就為小伙伴們說說什么是宏,小編也收集到了有關什么是宏的相關資料

跟大家講解下有關什么是宏,相信小伙伴們對這個話題應該也很關注吧,現在就為小伙伴們說說什么是宏,小編也收集到了有關什么是宏的相關資料,希望大家看到了會喜歡。

計算機科學里的宏(Macro),是一種批量處理的稱謂。一般說來,宏是一種規則或模式,或稱語法替換 ,用于說明某一特定輸入(通常是字符串)如何根據預定義的規則轉換成對應的輸出(通常也是字符串)。這種替換在預編譯時進行,稱作宏展開。

什么是宏

所謂宏,就是一些命令組織在一起,作為一個單獨命令完成一個特定任務。Microsoft Word中對宏定義為:“宏就是能組織到一起作為一獨立的命令使用的一系列word命令,它能使日常工作變得更容易”。Word使用宏語言Visual Basic將宏作為一系列指令來編寫。

計算機科學里的宏是一種抽象的,根據一系列預定義的規則替換一定的文本模式。Excel辦公軟件自動集成了“VBA”高級程序語言,用此語言編制出的程序就叫“宏”。使用“VBA”需要有一定的編程基礎,并且還會耗費大量的時間,因此,絕大多數的使用者僅使用了Excel的一般制表功能,很少使用到“VBA”。

解釋器或編譯器在遇到宏時會自動進行這一模式替換。對于編譯語言,宏展開在編譯時發生,進行宏展的工具常被稱為宏展開器。宏這一術語也常常被用于許多類似的環境中,它們是源自宏展開的概念,這包括鍵盤宏和宏語言。絕大多數情況下,“宏”這個詞的使用暗示著將小命令或動作轉化為一系列指令。

推薦課程:PHP教程。

宏的用途在于自動化頻繁使用的序列或者是獲得一種更強大的抽象能力--但這常常是一回事。

計算機語言如C或匯編語言有簡單的宏系統,由編譯器或匯編器的預處理器實現。C的宏預處理器的工作只是簡單的文本搜索和替換,使用附加的文本處理語言如M4,C 程序員可以獲得更精巧的宏。

Lisp類語言如Common Lisp和Scheme有更精巧的宏系統: 宏的行為如同是函數對自身程序文本的變形,并且可以應用全部語言來表達這種變形。一個C宏可以定義一段語法的替換,然而一個Lisp的宏卻可以控制一節代碼的計算。獲得了控制代碼的執行順序(見惰性計算和非限制函數)的能力,使得新創建的語法結構與語言內建的語法結構不可區分。

例如,一種Lisp 方言有 cond 而沒有if ,就可以使用宏由前者定義后者。Lisp 語法的去部主要擴展,比如面向對象的CLOS 系統,可以由宏來定義。

宏的典型應用

加速日常編輯和格式設置組合多個命令使對話框中的選項更易于訪問 使一系列復雜的任務自動執行

應用程序也可以使用一種和宏類似機理的系統來允許用戶將一系列(一般是最常使用到的操作)自定義為一個步驟。也就是用戶執行一系列操作,并且讓應用程序來“記住”這些操作以及順序。更高級的用戶可以通過內建的宏編程來直接使用那些應用程序的功能。當使用一種不熟悉的宏語言來編程時,比較有效的方法就是記錄用戶希望得到的一連串操作,然后通過閱讀應用程序記錄下來的宏文件來理解宏命令的結構組成。

以上就是什么是宏的詳細內容,更多請關注php中文網其它相關文章!

來源:php中文網

免責聲明:本文由用戶上傳,如有侵權請聯系刪除!