Ⅰ 宏程序是什麼
一.計算機中的「宏」 什麼是宏
計算機科學里的宏是一種抽象,它根據一系列預定義的規則替換一定的文本模式。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)
宏定義
c程序提供的預處理功能之一。包括帶參數的宏定義和不帶參數的宏定義。具體是指用一個指定的標志符來進行簡單的字元串替換或者進行闡述替換。形式為:
#define 標志符(參數表) 字元串
宏名
在上定義中的標志符被稱為「宏名」。
宏展開
在c程序編譯時將宏名替換成字元串的過程稱為「宏展開」。
微軟Word和宏病毒
Visual Basic for Applications (VBA),是 Microsoft Office 里的一種編程語言. 但由上面的定義,它完全不是一種宏語言。然而,它的功能已經從中發展並最終替代了用戶應用程序的宏思想,所以他被廣泛地錯誤地稱為是一種宏語言。
VBA 可以訪問許多操作系統函數並支持文檔打開時自動執行宏。這使得用這種語言寫計算機病毒成為可能。1990年代中後期,宏病毒成為了最流行的計算機病毒類型之一。其它的包括宏語言的項目,如openoffice.org,故意從其宏語言中排除了一些功能(如:自動執行)以避免破壞程序。然而,這一特性在很多事務中受到歡迎。 來自「網路知道」
Ⅱ 數控宏程序幹嘛用怎麼用
宏程序,基本上達到想幹嘛就能幹嘛的功效,只要想得到就能做得到(當然不是想異想天開的事情)。
舉個例子:
1.同類型的不同規格的零件,只要程序。比如,要銑削1寸的五角星,2寸的五角星,……1萬寸的五角星。只要一個程序。
2.亂七八糟的曲線,比如波浪線(正玄函數),阿基米德螺旋線。甚至三維曲線,比如有個球,打了個孔,形成截交線,給這條邊倒角,甚至倒圓角。
還有很多我碰到過的。總之宏程序就是機床的功能。事實上,機床本身的每一個代碼,其實就是一個宏程序。G02逆圓弧,大大小小的逆圓弧都能走。想我剛剛說的,你也可編個宏程序,走五角星,大大小小的五角心都能走
Ⅲ 宏程序的定義和使用 以及與現在的G代碼編程的區別
宏程序裡麵包括G代碼 關鍵是宏程序能夠進行數學運算和邏輯運算 從而可以實現自動的循環切削 或者規律切削 或者加工公式曲線之類的輪廓!而宏程序里離不開普通程序 只不過那個值有的是變數 就是說是不斷變化的!!而G代碼一般只能跟固定的數值!比如G01x10.而宏可以用G01x#1 #1可以等於任何數字 看你怎麼賦值了
Ⅳ 什麼是加工中心宏程序, 為什麼要用宏程序, 宏程序一般都是手動編程嗎
宏程式就是將一大堆程式簡化了的程序,宏程序都是手動編程的,電腦是不會用宏的,其實很簡單的,邏輯思維強的人幾分鍾就能會,不強的話,一輩子都會不了,明白不?
Ⅳ 什麼是數控編程中的用戶宏程序如何應用
數控編程中有時候用常量編程無法獲得預期的加工效果,這是可以用宏程序達到,利用計算機的計算能力,人為的將一些不好計算的值表示為變數,這既是宏程序。車工中宏程序的應用主要體現在車非圓曲線,大螺距梯形螺紋上面,而銑工和加工中心則應用宏程序較多,因為他們加工的多維空間坐標系
Ⅵ 宏編程是什麼
計算機科學里的宏(Macro),是一種批量處理的稱謂。一般說來,宏是一種規則或模式,或稱語法替換 ,用於說明某一特定輸入(通常是字元串)如何根據預定義的規則轉換成對應的輸出(通常也是字元串)。這種替換在預編譯時進行,稱作宏展開。
計算機語言如C語言或 匯編語言有簡單的宏系統,由編譯器或匯編器的預處理器實現。C語言的宏預處理器的工作只是簡單的文本搜索和替換,使用附加的文本處理語言如M4,C程序員可以獲得更精巧的宏。
應用程序也可以使用一種和宏類似機理的系統來允許用戶將一系列(一般是最常使用到的操作)自定義為一個步驟。也就是用戶執行一系列操作,並且讓應用程序來「記住」這些操作以及順序。更高級的用戶可以通過內建的宏編程來來直接使用那些應用程序的功能。
當使用一種不熟悉的宏語言來編程時,比較有效的方法就是記錄一連串用戶希望得到的操作,然後通過閱讀應用程序記錄下來的宏文件來理解宏命令的結構組成。