第四章 IRIS 編程簡介 - Macros
Macros
ObjectScript
還支持定義替換的宏。定義可以是一個(gè)值、整行代碼或(使用 ##continue
指令)多行。使用宏來確保一致性。例如:
#define StringMacro "Hello, World!"
write $$$StringMacro
Include Files
可以在例程中定義宏,并稍后在同一例程中使用它們。更常見的是,在中心位置定義它們。為此,需要?jiǎng)?chuàng)建并使用包含文件。包含文件定義宏并且可以包含其他包含文件。
這些代碼元素如何協(xié)同工作
可以混合使用 ObjectScript
、Python
、 SQL
、類定義、宏、例程等的原因是 IRIS
不直接使用編寫的代碼。相反,當(dāng)編譯代碼時(shí),系統(tǒng)會(huì)生成它使用的較低級(jí)別的代碼。這是由 ObjectScript
引擎使用的 ObjectScript
的 OBJ
代碼,以及由 Python
引擎使用的 Python
的 PYC
代碼。
有多個(gè)步驟。無需詳細(xì)了解這些步驟,但最好記住以下幾點(diǎn):
- 對于除
Python
方法之外的所有元素,類編譯器將類定義和ObjectScript
代碼處理為INT
代碼。Python
代碼被處理成PY代碼。
在某些情況下,編譯器會(huì)生成并保存您不應(yīng)編輯的其他類。例如,當(dāng)編譯定義 Web
服務(wù)和 Web
客戶端的類時(shí),就會(huì)發(fā)生這種情況。
類編譯器還為每個(gè)類生成類描述符。系統(tǒng)代碼在運(yùn)行時(shí)使用它。
- 對于
ObjectScript
代碼,預(yù)處理器(有時(shí)稱為宏預(yù)處理器或MPP
)使用包含文件并替換宏。它還處理例程中的嵌入式SQL
。
這些更改發(fā)生在臨時(shí)工作區(qū)中,并且代碼不會(huì)更改。
- 其他編譯器為例程創(chuàng)建
INT
代碼。 -
INT
代碼和PY
代碼是中間層,其中通過直接Global
訪問來處理對數(shù)據(jù)的訪問。該代碼是人類可讀的。 INT
代碼用于生成OBJ
代碼,PY代碼用于生成PYC
代碼。IRIS
虛擬機(jī)使用此代碼。一旦將代碼編譯為OBJ
和PYC
代碼,代碼執(zhí)行就不再需要INT
和PY
例程。- 編譯類后,可以將它們置于部署模式。
IRIS
有一個(gè)實(shí)用程序,可以刪除給定類的類內(nèi)部和中間代碼;可以在部署應(yīng)用程序時(shí)使用此實(shí)用程序。
如果檢查 IRIS
系統(tǒng)類,可能會(huì)發(fā)現(xiàn)某些類看不到,因?yàn)樗鼈兲幱诓渴鹉J健?/strong>文章來源:http://www.zghlxwxcb.cn/news/detail-668416.html
注意:所有類定義和例程都與生成的代碼存儲(chǔ)在同一 IRIS
數(shù)據(jù)庫中。這一事實(shí)使代碼更易于管理。 IRIS
提供了一組強(qiáng)大的源代碼控制掛鉤, 開發(fā)人員已使用這些掛鉤多年。也可以使用這些掛鉤。文章來源地址http://www.zghlxwxcb.cn/news/detail-668416.html
到了這里,關(guān)于第四章 IRIS 編程簡介 - Macros的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!