ABAP的include關鍵字,Java的import, C的include和C4C ABSL 的import比較
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的原創技術文章,請關注公眾號"汪子熙"或者掃描下面二維碼:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2152626/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C語言include關鍵字和引用.h .c的區別C語言
- 什麼是 SAP ABAP 的 include structureStruct
- ABAP include structure 的一個具體用法Struct
- #include的作用
- 關鍵字、Package 包的使用、import 的用法 - Go 學習記錄PackageImportGo
- import、#include和@class有什麼區別 、相互引用標頭檔案問題Import
- Java的位元組碼和ABAP load的比較Java
- 關於 Python 的 importPythonImport
- ABAP SICF服務和Java Servlet的比較JavaServlet
- SAP ABAP ADBC和Java JDBC的使用比較JavaJDBC
- include "head_file" 和 include <head_file>
- require 和 import 的區別?UIImport
- import和require的區別ImportUI
- link和@import的區別Import
- 新手關於import/export的理解ImportExport
- php中 include,require,include_once,require_once 的區別PHPUI
- include與require、require_once與include_once的區別UI
- ABAP關鍵字 IS BOUND, IS NOT INITIAL和IS ASSIGNED的用法辨析
- css link和@import的區別CSSImport
- require和import引用的區別UIImport
- python 關閉 vscode 的 auto-importPythonVSCodeImport
- scss 檔案裡的特殊符號 @ 和 @include 的用法CSS符號
- 徹底搞懂Python 中的 import 與 from importPythonImport
- 使用ABSL(ABAP Script Language)完成SAP C4C 裡Customer Quote以及行專案的增刪改查
- Python import相關內容區別介紹( import *** as 、from***import )PythonImport
- 談談import和require的區別ImportUI
- CSS中 link 和@import的區別CSSImport
- import,export的支援[nodejs]ImportExportNodeJS
- java中的static和final關鍵字Java
- ABAP OPEN SQL裡OPEN CURSOR和SELECT的比較SQL
- JS/TS 的 import 和 export 用法小結JSImportExport
- PHP 中 include 和 require 的概要及區別介紹PHPUI
- Java 的 static 關鍵字Java
- @import與<link> 的區別Import
- [C#] string 和 StringBuilder 的比較C#UI
- Go 與 C++ 的對比和比較GoC++
- Datapump:EXCLUDE/INCLUDE
- #include <> ““區別