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)會生成它使用的較低級別的代碼。這是由 ObjectScript
引擎使用的 ObjectScript
的 OBJ
代碼,以及由 Python
引擎使用的 Python
的 PYC
代碼。
有多個(gè)步驟。無需詳細(xì)了解這些步驟,但最好記住以下幾點(diǎn):
- 對于除
Python
方法之外的所有元素,類編譯器將類定義和ObjectScript
代碼處理為INT
代碼。Python
代碼被處理成PY代碼。
在某些情況下,編譯器會生成并保存您不應(yīng)編輯的其他類。例如,當(dāng)編譯定義 Web
服務(wù)和 Web
客戶端的類時(shí),就會發(fā)生這種情況。
類編譯器還為每個(gè)類生成類描述符。系統(tǒng)代碼在運(yùn)行時(shí)使用它。
這些更改發(fā)生在臨時(shí)工作區(qū)中,并且代碼不會更改。
- 其他編譯器為例程創(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)類,可能會發(fā)現(xiàn)某些類看不到,因?yàn)樗鼈兲幱诓渴鹉J健?/p>
注意:所有類定義和例程都與生成的代碼存儲在同一 IRIS
數(shù)據(jù)庫中。這一事實(shí)使代碼更易于管理。 IRIS
提供了一組強(qiáng)大的源代碼控制掛鉤, 開發(fā)人員已使用這些掛鉤多年。也可以使用這些掛鉤。
-
代碼
+關(guān)注
關(guān)注
30文章
4788瀏覽量
68616 -
編譯
+關(guān)注
關(guān)注
0文章
657瀏覽量
32872 -
python
+關(guān)注
關(guān)注
56文章
4797瀏覽量
84690
發(fā)布評論請先 登錄
相關(guān)推薦
評論