国产精品乱码一区-性开放网站-少妇又紧又爽视频-西西大胆午夜人体视频-国产极品一区-欧美成人tv-四虎av在线-国产无遮挡无码视频免费软件-中文字幕亚洲乱码熟女一区二区-日产精品一区二区三区在线观看-亚洲国产亚综合在线区-五月婷婷综合色-亚洲日本视频在线观看-97精品人人妻人人-久久久久久一区二区三区四区别墅-www.免费av-波多野结衣绝顶大高潮-日本在线a一区视频高清视频-强美女免费网站在线视频-亚洲永久免费

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
樓主: 耶穌愛子

請教:什么樣的程序是宏程序?宏程序和普通程序的區別是什么?

  [復制鏈接]
11#
發表于 2013-10-26 21:53:11 | 只看該作者
冷月梧桐 發表于 2013-10-26 11:04 6 e% C2 Z  \& z7 b: I% z3 s
我認為涉及變量,循環都算是宏程序。聲明我是業余的,不是專業的。問你一個問題,什么是普通程序,什么是 ...
; w; l- X, j/ R( x
啊?是這樣理解的嗎?我一直以為vb編程的另一種叫法是宏程序,' n1 ]* h$ x5 z4 l% G2 N! _9 o+ C

' W0 z* Q" ?( A* D: U- B如果按你所說的,c語言等都有變量、循環,那也叫宏程序嗎?
" t$ X4 h9 U5 V" H3 A- g/ H% T: m( b/ ?8 ]( Q5 U: T

  Q6 ^4 H2 E/ G. y
! z4 Y) D! G1 v% }8 _+ ?

點評

不是咬文嚼字,那c能叫宏程序嗎?  發表于 2013-10-26 22:34
C 和VB不帶變量你玩什么呀??不和你們咬文嚼字了  發表于 2013-10-26 22:17
12#
發表于 2013-10-26 22:43:03 | 只看該作者
macro的中文名稱:宏
; Y( {7 t; I0 ]7 P+ `什么是宏
4 y- t# ~+ {+ x# D! D  計算機科學里的宏是一種抽象,它根據一系列預定義的規則替換一定的文本模式。Excel 辦公軟件自動集成了“VBA”高級程序語言,用此語言編制出的程序就叫“宏”。使用“VBA”需要有一定的編程基礎和耗費大量的時間,因此,絕大多數的使用者僅使用了Excel的一般制表功能,很少使用到“VBA”。
+ ]8 {( I! b- A8 U) r# e( ^  ]4 C- N" e9 T+ ?6 L+ k8 h; ?! }6 x
  解釋器或編譯器在遇到宏時會自動進行這一模式替換。對于編譯語言,宏展開在編譯時發生,進行宏展開的工具常被稱為宏展開器。宏這一術語也常常被用于許多類似的環境中,它們是源自宏展開的概念,這包括鍵盤宏和宏語言。絕大多數情況下,使用“宏”這個詞的使用暗示著將小命令或動作轉化為一系列指令。
' K: @4 v" s  O1 G! X) Z5 ~  }* o+ R$ X6 b3 m! U
  宏的用途在于自動化頻繁使用的序列或者是獲得一種更強大的抽象能力--但這常常是一回事。 ! X( F( E2 R8 X7 m+ T$ M7 [. n/ Q
& l" g; j& l* J1 Q
  計算機語言如C或匯編語言有簡單的宏系統,由編譯器或匯編器的預處理器實現。C的宏預處理器的工作只是簡單的文本搜索和替換,使用附加的文本處理語言如M4,C程序員可以獲得更精巧的宏。 % Z& @- G% D0 A8 `  W6 A

; |1 \+ `7 u' `5 f3 v. Z  Lisp類語言如Common Lisp和Scheme有更精巧的宏系統: 宏的行為如同是函數對自身程序文本的變形,并且可以應用全部語言來表達這種變形。一個C宏可以定義一段語法的替換,然而一個Lisp的宏卻可以控制一節代碼的計算。
- e' X! Q) [* |% V# s0 [4 g/ x, P. _! r6 F$ v  l
  獲得了控制代碼的執行順序(見惰性計算和非限制函數)的能力,使得新創建的語法結構與語言內建的語法結構不可區分。例如,一種Lisp 方言有 cond 而沒有if ,就可以使用宏由前者定義后者。Lisp 語法的去部主要擴展,比如面向對象的CLOS 系統,可以由宏來定義。5 Y7 \" A% u* T
宏的典型應用; l0 X) z7 u7 B
  加速日常編輯和格式設置
2 x& e8 u2 q( U6 y) H5 u5 K) f5 |; e& S' p
  組合多個命令 1 J3 o7 S$ M# f% X) m1 Q* A

% c  z+ V8 s& ^: `+ z  j  使對話框中的選項更易于訪問
; }& y" e* h4 y( U' l/ P9 I0 `: @) d# H0 J
  使一系列復雜的任務自動執行
* G( _0 ^9 W9 J( X宏編程介紹
: P6 y7 B5 j, I1 ^  在用一種不熟悉的宏語言進行宏編程時,可以這樣做,首先記錄下用戶想要宏完成什么,然后打開宏文件并嘗試理解命令結構如何工作。也可以修改命令以調整宏。一些宏語言,比如Great Plains賬務(?accounting)軟件的 Dexterity 運行時引擎,不能從其它數據源(如由逗號分隔的文本文件)導入數據。這一限制可以通過用更強大的編程語言,如 VBA 來創建一個計算機程序在此弱編程語言里生成一個特別的宏來解決。例如,可以對 Microsoft Excel 宏編程從擴展樣式表或文本文件中讀取數據并創建 Great Plains .mac 文件,這一文件被用于將特定的數據導入 Great Plains. 需要針對每一個新的數據集合聲稱新的 .mac 文件。8 Y( ?$ z& {  D6 ]
鍵盤宏
' v8 ~, V, {  s# ~  鍵盤宏和編輯器宏分別在圖形用戶界面和編輯器中被交互式地使用。使用它們可以用簡短的擊鍵代替冗長的命令序列,并為重復性任務提供了一個簡單的自動化形式。 * R) o% g, v* S
+ E8 Z: M. ?6 Q, B* h  B. D5 }
  程序員的文本編輯器 Emacs (“編輯宏”[Editing MACroS]的簡稱)是沿用這一思想的產物。事實上,大多數編輯器是由宏組成的,Emacs 最初被設計為編輯語言 TECO 的宏集,后被移植為 Lisp 的一中方言 Emacs Lisp。
  f4 e3 N1 t9 @2 d1 b宏語言
- S& `, ^. Q8 O# q, O6 g& q$ Q1 ^  宏語言是一類編程語言,其全部或多數計算是由擴展宏完成的。宏語言并未在通用編程中廣泛使用,但在文本處理程序中應用普遍。例如,
0 [7 P) a. n/ X& j4 \9 M) n4 i( }5 x3 s( Q
  C preprocessor C 預處理器
& G/ z( G' d: j! Q% |- h) B
$ }" a( Z7 o% t& G! a4 R  Internet Macros(iOpus) , f; d9 P2 h# U

3 K7 O* c: d- n5 X) h5 r# e; O  M4(如前所述,源于AT&T,捆綁于Unix) ) t4 D' w, B% M/ i# _2 x& y

" ^0 v* P: i5 y( f1 M  宏定義 + Q2 r0 ]! x5 m; J% P

7 V$ A2 F, s& y3 `  c程序提供的預處理功能之一。包括帶參數的宏定義和不帶參數的宏定義。具體是指用一個指定的標志符來進行簡單的字符串替換或者進行闡述替換。形式為: / C5 H0 X- F$ v3 e; W9 y

5 I- Y; T  p$ S# E' r$ I  #define標志符(參數表) 字符串   W$ i: G7 D6 N4 E# K! _3 l

2 N3 w' b$ H; J0 g2 x5 z. C$ q  宏名 4 \) c) r9 v" @6 U; @

1 J. E0 a! o) O8 [5 ]; k) @& V0 f  在上定義中的標志符被稱為“宏名”。
0 J" I% \% t$ o& }: ^9 _5 ]1 W( K3 v% g% U
  宏展開
! E# d' ~; W7 J/ A- K; P! z& l# C; M- T+ \4 d2 ~1 A
  在c程序編譯時將宏名替換成字符串的過程稱為“宏展開”。' k- n3 P3 B" v' y* z- w# H
微軟Word和宏病毒
7 E' @& h) t0 Q, U/ w0 m  Visual Basic for Applications (VBA),是 Microsoft Office 里的一種編程語言. 但由上面的定義,它完全不是一種宏語言。然而,它的功能已經從中發展并最終替代了用戶應用程序的宏思想,所以他被廣泛地錯誤地稱為是一種宏語言。 ; Q- }  a: N2 o! v( d

* p' l$ O# Z$ _6 V0 T3 i  VBA 可以訪問許多操作系統函數并支持文檔打開時自動執行宏。這使得用這種語言寫計算機病毒成為可能。1990年代中后期,宏病毒成為了最流行的計算機病毒類型之一。其它的包括宏語言的項目,如openoffice org,故意從其宏語言中排除了一些功能(如:自動執行)以避免破壞程序。然而,這一特性在很多事務中受到歡迎。
" |/ [( e7 {3 q
* e" E3 k# i2 n! h% ?0 `" G  另:在數碼相機鏡頭中Marco的意思是微距。
; g, y' j; w: Y& ^1 A# x. M8 N4 A5 i
詞典所得,原來都能跟宏有關!

評分

參與人數 1威望 +1 收起 理由
耶穌愛子 + 1 熱心助人!

查看全部評分

13#
發表于 2013-10-29 13:05:21 | 只看該作者
冷月梧桐 發表于 2013-10-24 18:45
1 E( G1 V7 [& }4 O* zNO1.宏程序之于普通程序主要是引用變量,設置循環條件,可以完成相同類似工件的加工,其實G83就可以理解成是 ...
, H* z( F3 ~1 P. v) i6 z$ a
我認為第三點的說法有問題。宏程序號和普通程序、子程序在CNC內部處理時是不一樣的,而且宏程序必須是O9000~9999中的一個,其他的程序號只能成為子程序或普通程序。" y" ^. }  U+ \2 v$ l3 C
14#
發表于 2013-10-29 17:50:16 | 只看該作者
oleg0007 發表于 2013-10-29 13:05
, }5 s" H1 p( T* }) m1 R7 K; E6 F我認為第三點的說法有問題。宏程序號和普通程序、子程序在CNC內部處理時是不一樣的,而且宏程序必須是O90 ...

+ r9 A. _) i1 t, f; G- m) s實際是宏程序的程序名是任意的,放在9000以后主要是可以對這部分程序加鎖而已
15#
發表于 2013-10-29 20:58:53 | 只看該作者
宏程序用的不多
16#
發表于 2013-11-24 18:54:35 | 只看該作者
謝謝2樓的普及啊!
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規則

Archiver|手機版|小黑屋|機械社區 ( 京ICP備10217105號-1,京ICP證050210號,浙公網安備33038202004372號 )

GMT+8, 2025-9-20 19:55 , Processed in 0.068723 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復 返回頂部 返回列表