當前位置:編程學習大全網 - 編程語言 - 什麽是 宏功能

什麽是 宏功能

宏 開放分類: 計算機語言、軟件、漢字、文字、EXCEL 目錄 ?6?1 壹.計算機中的“宏” ?6?1 宏編程 ?6?1 鍵盤宏 ?6?1 宏語言 ?6?1 微軟Word和宏病毒 ?6?1 二.漢字:宏 壹.計算機中的“宏” 計算機科學裏的宏是壹種抽象,它根據壹系列預定義的規則替換壹定的文本模式。Excel 辦公軟件自動集成了“VBA”高級程序語言,用此語言編制出的程序就叫“宏”。使用“VBA”需要有壹定的編程基礎和耗費大量的時間,因此,絕大多數的使用者僅使用了Excel的壹般制表功能,很少使用到“VBA”。 解釋器或編譯器在遇到宏時會自動進行這壹模式替換。對於編譯語言,宏展開在編譯時發生,進行宏展開的工具常被稱為宏展開器。宏這壹術語也常常被用於許多類似的環境中,它們是源自宏展開的概念,這包括鍵盤宏和宏語言。絕大多數情況下,使用“宏”這個詞的使用暗示著將小命令或動作轉化為壹系列指令。 宏的用途在於自動化頻繁使用的序列或者是獲得壹種更強大的抽象能力--但這常常是壹回事。 計算機語言如C或匯編語言有簡單的宏系統,由編譯器或匯編器的預處理器實現。C的宏預處理器的工作只是簡單的文本搜索和替換,使用附加的文本處理語言如M4,C 程序員可以獲得更精巧的宏。 Lisp類語言如Common Lisp和Scheme有更精巧的宏系統: 宏的行為如同是函數對自身程序文本的變形,並且可以應用全部語言來表達這種變形。壹個C宏可以定義壹段語法的替換,然而壹個Lisp的宏卻可以控制壹節代碼的計算。 獲得了控制代碼的執行順序(見惰性計算和非限制函數)的能力,使得新創建的語法結構與語言內建的語法結構不可區分。例如,壹種Lisp 方言有 cond 而沒有if ,就可以使用宏由前者定義後者。Lisp 語法的去部主要擴展,比如面向對象的CLOS 系統,可以由宏來定義。 宏編程 在用壹種不熟悉的宏語言進行宏編程時,可以這樣做,首先記錄下用戶想要宏完成什麽,然後打開宏文件並嘗試理解命令結構如何工作。也可以修改命令以調整宏。壹些宏語言,比如Great Plains賬務(?accounting)軟件的 Dexterity 運行時引擎,不能從其它數據源(如由逗號分隔的文本文件)導入數據。這壹限制可以通過用更強大的編程語言,如 VBA 來創建壹個計算機程序在此弱編程語言裏生成壹個特別的宏來解決。例如,可以對 Microsoft Excel 宏編程從擴展樣式表或文本文件中讀取數據並創建 Great Plains .mac 文件,這壹文件被用於將特定的數據導入 Great Plains. 需要針對每壹個新的數據集合聲稱新的 .mac 文件。 鍵盤宏 鍵盤宏和編輯器宏分別在圖形用戶界面和編輯器中被交互式地使用。使用它們可以用簡短的擊鍵代替冗長的命令序列,並為重復性任務提供了壹個簡單的自動化形式。 程序員的文本編輯器 Emacs (“編輯宏”[Editing MACroS]的簡稱)是沿用這壹思想的產物。事實上,大多數編輯器是由宏組成的。Emacs 最初被設計為編輯語言 TECO 的宏集,後被移植為 Lisp 的壹中方言 Emacs Lisp。 宏語言 宏語言是壹類編程語言,其全部或多數計算是由擴展宏完成的。宏語言並未在通用編程中廣泛使用,但在文本處理程序中應用普遍。例如, C preprocessor C 預處理器 Internet Macros(iOpus) M4(如前所述,源於AT&T,捆綁於Unix) 微軟Word和宏病毒 Visual Basic for Applications (VBA),是 Microsoft Office 裏的壹種編程語言. 但由上面的定義,它完全不是壹種宏語言。然而,它的功能已經從中發展並最終替代了用戶應用程序的宏思想,所以他被廣泛地錯誤地稱為是壹種宏語言。 VBA 可以訪問許多操作系統函數並支持文檔打開時自動執行宏。這使得用這種語言寫計算機病毒成為可能。1990年代中後期,宏病毒成為了最流行的計算機病毒類型之壹。其它的包括宏語言的項目,如openoffice.org,故意從其宏語言中排除了壹些功能(如:自動執行)以避免破壞程序。然而,這壹特性在很多事務中受到歡迎。

參考資料:

/view/57.htm

  • 上一篇:簡述CSMA技術的P-堅持算法規則
  • 下一篇:妳認為和水瓶座的女生鬧分手後,對方已經說了不可能了,妳還會挽留對方嗎?
  • copyright 2024編程學習大全網