標籤:Java C++ JavaScript ABAP SAP
ABAP
使用關鍵字重複引入一個include program,會報syntax error:
原因是因為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:
include in C
譚浩強老師的《C程式設計》一書中提到,編譯器預先處理時,要對#include命令進行"檔案包含處理":將被include的標頭檔的全部內容複寫到#include處。
那麼C語言的include類似ABAP的關鍵字include。
例子:a.c裡include標準的<stdio.h>:
這個標頭檔的位置: /usr/include
裡面是一些宏定義和函式宣告:
b.c裡沒有include這個標頭檔:
所以b.c編譯產生的執行檔案尺寸小於a.c:
import in C4C ABSL
同Java的import,不會對後台產生的ABAP代碼有任何影響。
要擷取更多Jerry的原創技術文章,請關注公眾號"汪子熙"或者掃描下面二維碼:
ABAP的include關鍵字,Java的import, C的include和C4C ABSL 的i