ABAP的include關鍵字,Java的import, C的include和C4C ABSL 的import比較

ABAP

使用關鍵字重複引入一個include program,會報syntax error:java

緣由是由於ABAP對include這個關鍵字的實現和其餘編程語言有點不同,在激活時簡單地把被include的program的所有源代碼替換原程序裏INCLUDE incl這一行,因此重複引入一個include program會報錯。編程

值得一提的是,ABAP report悄悄得include了不少標準的program,好比<sysini>.編程語言

所以若是再次重複引入,一樣的會遇到語法錯誤。函數

import in Java

Java的import和ABAP的include關鍵字實現的效果不同,在Java裏使用import引入包名能夠讓程序猿少打些字,好比比較下圖第13行和第15行的寫法,明顯前者要簡潔一些。設計

由於import引入的是包名而不會像ABAP那樣將包的源代碼引入到使用了import的源程序,所以能夠重複import。只是將Java編譯器生成的.class反編譯以後,會發現編譯器自動將冗餘的import移除,且自動引入了新的包java.io.printStream:3d

include in C

譚浩強老師的《C程序設計》一書中提到,編譯器預處理時,要對#include命令進行"文件包含處理":將被include的頭文件的所有內容複製到#include處。blog

那麼C語言的include相似ABAP的關鍵字include。編譯器

例子:a.c裏include標準的<stdio.h>:io

這個頭文件的位置: /usr/include編譯

裏面是一些宏定義和函數聲明:

b.c裏沒有include這個頭文件:

因此b.c編譯生成的執行文件尺寸小於a.c:

import in C4C ABSL

同Java的import,不會對後臺生成的ABAP代碼有任何影響。

要獲取更多Jerry的原創技術文章,請關注公衆號"汪子熙"或者掃描下面二維碼:

相關文章
相關標籤/搜索