使用關鍵字重複引入一個include program,會報syntax error:java
緣由是由於ABAP對include這個關鍵字的實現和其餘編程語言有點不同,在激活時簡單地把被include的program的所有源代碼替換原程序裏INCLUDE incl這一行,因此重複引入一個include program會報錯。編程
值得一提的是,ABAP report悄悄得include了不少標準的program,好比<sysini>.編程語言
所以若是再次重複引入,一樣的會遇到語法錯誤。函數
Java的import和ABAP的include關鍵字實現的效果不同,在Java裏使用import引入包名能夠讓程序猿少打些字,好比比較下圖第13行和第15行的寫法,明顯前者要簡潔一些。設計
由於import引入的是包名而不會像ABAP那樣將包的源代碼引入到使用了import的源程序,所以能夠重複import。只是將Java編譯器生成的.class反編譯以後,會發現編譯器自動將冗餘的import移除,且自動引入了新的包java.io.printStream:3d
譚浩強老師的《C程序設計》一書中提到,編譯器預處理時,要對#include命令進行"文件包含處理":將被include的頭文件的所有內容複製到#include處。blog
那麼C語言的include相似ABAP的關鍵字include。編譯器
例子:a.c裏include標準的<stdio.h>:io
這個頭文件的位置: /usr/include編譯
裏面是一些宏定義和函數聲明:
b.c裏沒有include這個頭文件:
因此b.c編譯生成的執行文件尺寸小於a.c:
同Java的import,不會對後臺生成的ABAP代碼有任何影響。
要獲取更多Jerry的原創技術文章,請關注公衆號"汪子熙"或者掃描下面二維碼: