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,比如.
因此如果再次重复引入,同样的会遇到语法错误。
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 的import比较相关推荐
- 在ABAP里模拟实现Java Spring的依赖注入
Dependency Injection- 依赖注入,在Java Spring框架中有着广泛地应用.通过依赖注入,我们不必在应用代码里繁琐地初始化依赖的资源,非常方便. 那么ABAP能否从语言层面上也 ...
- [转载] Java关键字(Java 8版本)
参考链接: 所有Java关键字列表 定义 被Java语言赋予了特殊含义,用作专门用途的字符串(单词),这些关键字不能用于常量.变量.和任何标识符的名称. Java关键字(Java 8版本) Java关 ...
- final关键字---Java
final关键字---Java final关键字的作用1.修饰变量:被他修饰的变量不可改变.一旦赋了初值,就不能被重新赋值.2.修饰方法:该方法不可被子类重写,但是可以被重载.3.修饰类:修饰的类不能 ...
- super关键字 java 1614785870
super关键字 java 1614785870 比一比 继承中的对象创建 继承后的对象构建过程 super调用父类无参构造 super调用父类的带参构造方法 this与super
- this 关键字 java 1614781517
this 关键字 java 1614781517
- private关键字 java 1613808402
private关键字 java 1613808402 关于 配套 示例 定义学生类 age年龄,是private的 提供了公有的方法来操作私有的年龄age字段 入口函数 对象调用公有方法来操作私有的字 ...
- java 生成字体文件,java使用itext生成pdf文件-设置字体,itextpdf,import com.l
java使用itext生成pdf文件-设置字体,itextpdf,import com.limport com.lowagie.text.Document;import com.lowagie.tex ...
- import的用法python_Python导入模块,Python import用法(超级详细)
Python导入模块,Python import用法(超级详细) 使用 Python 进行编程时,有些功能没必须自己实现,可以借助 Python 现有的标准库或者其他人提供的第三方库.比如说,在前面章 ...
- c++ include 路径_头文件中,#include使用引号“”和尖括号lt;gt;有什么区别?
很多程序员写代码,可能没有仔细研究一些细节问题,比如今天说的#include相关的内容. 01 关于#include 首先,#include为预处理语句,那么什么是预处理语句呢?预处理语句最明显的标志 ...
最新文章
- 欧拉降幂 ---- 2020 杭电多校[E - Fibonacci Sum]+欧拉降幂+和式的调整+二次剩余+毒瘤卡常
- HTML DOM getElementById() 方法
- python培训班哪些比较好-python培训机构哪家比较好?
- BILIBILI 高并发实时弹幕系统的实战之路 | 架构师实践日
- Redis 集群介绍
- dataframe读取列表中对应的列
- 2016-08-12
- AssetBundle资源冗余检测
- 如何保持福禄克CFP2-100-Q、OFP2-100-Q等光纤测试仪器的洁净?
- java word excel_java读取WORD/EXCEL模板转换生成新WORD/EXCEL文档
- 调和级数相关极限合集
- Wampserver修改默认浏览器、默认编辑器的解决办法
- 了解虚拟化,常用的虚拟化软件,虚拟化架构,kvm介绍
- a possible low-level optimization
- 天空的心事,只有云懂
- 已解决:win11无法连接网络共享打印机的方法
- 微信公告号 图灵机器人实现智能回复
- 微机原理 || MOV 指令使用规则(详细+例题)
- 原生js.ajax内存溢出,【JS】解决内存溢出问题
- 网络通信TCP/UDP
热门文章
- sklearn自学指南(part24)--随机梯度下降
- JAVA面试题(part6)--局部内部类
- 《统计学:从数据到结论》学习笔记(part2)--总体是人们所关心的所有个体的集合
- 利用python爬虫(part2)--urllib.parse模块
- Yum mysql 日志_CentOS5上yum安装Apache+php+Mysql
- 如何创建 Angular library 并在生产环境中消费
- Web 应用客户端渲染和服务器端渲染的比较
- TypeScript 工具类型 - Utility Types
- 一步步把 SAP UI5 应用部署到 SAP BTP Kyma 运行环境中去
- 答网友提问:使用 SAP Fiori Tools 创建的 Fiori Elements 应用,如何进行二次开发?