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比较相关推荐

  1. 在ABAP里模拟实现Java Spring的依赖注入

    Dependency Injection- 依赖注入,在Java Spring框架中有着广泛地应用.通过依赖注入,我们不必在应用代码里繁琐地初始化依赖的资源,非常方便. 那么ABAP能否从语言层面上也 ...

  2. [转载] Java关键字(Java 8版本)

    参考链接: 所有Java关键字列表 定义 被Java语言赋予了特殊含义,用作专门用途的字符串(单词),这些关键字不能用于常量.变量.和任何标识符的名称. Java关键字(Java 8版本) Java关 ...

  3. final关键字---Java

    final关键字---Java final关键字的作用1.修饰变量:被他修饰的变量不可改变.一旦赋了初值,就不能被重新赋值.2.修饰方法:该方法不可被子类重写,但是可以被重载.3.修饰类:修饰的类不能 ...

  4. super关键字 java 1614785870

    super关键字 java 1614785870 比一比 继承中的对象创建 继承后的对象构建过程 super调用父类无参构造 super调用父类的带参构造方法 this与super

  5. this 关键字 java 1614781517

    this 关键字 java 1614781517

  6. private关键字 java 1613808402

    private关键字 java 1613808402 关于 配套 示例 定义学生类 age年龄,是private的 提供了公有的方法来操作私有的年龄age字段 入口函数 对象调用公有方法来操作私有的字 ...

  7. java 生成字体文件,java使用itext生成pdf文件-设置字体,itextpdf,import com.l

    java使用itext生成pdf文件-设置字体,itextpdf,import com.limport com.lowagie.text.Document;import com.lowagie.tex ...

  8. import的用法python_Python导入模块,Python import用法(超级详细)

    Python导入模块,Python import用法(超级详细) 使用 Python 进行编程时,有些功能没必须自己实现,可以借助 Python 现有的标准库或者其他人提供的第三方库.比如说,在前面章 ...

  9. c++ include 路径_头文件中,#include使用引号“”和尖括号lt;gt;有什么区别?

    很多程序员写代码,可能没有仔细研究一些细节问题,比如今天说的#include相关的内容. 01 关于#include 首先,#include为预处理语句,那么什么是预处理语句呢?预处理语句最明显的标志 ...

最新文章

  1. 欧拉降幂 ---- 2020 杭电多校[E - Fibonacci Sum]+欧拉降幂+和式的调整+二次剩余+毒瘤卡常
  2. HTML DOM getElementById() 方法
  3. python培训班哪些比较好-python培训机构哪家比较好?
  4. BILIBILI 高并发实时弹幕系统的实战之路 | 架构师实践日
  5. Redis 集群介绍
  6. dataframe读取列表中对应的列
  7. 2016-08-12
  8. AssetBundle资源冗余检测
  9. 如何保持福禄克CFP2-100-Q、OFP2-100-Q等光纤测试仪器的洁净?
  10. java word excel_java读取WORD/EXCEL模板转换生成新WORD/EXCEL文档
  11. 调和级数相关极限合集
  12. Wampserver修改默认浏览器、默认编辑器的解决办法
  13. 了解虚拟化,常用的虚拟化软件,虚拟化架构,kvm介绍
  14. a possible low-level optimization
  15. 天空的心事,只有云懂
  16. 已解决:win11无法连接网络共享打印机的方法
  17. 微信公告号 图灵机器人实现智能回复
  18. 微机原理 || MOV 指令使用规则(详细+例题)
  19. 原生js.ajax内存溢出,【JS】解决内存溢出问题
  20. 网络通信TCP/UDP

热门文章

  1. sklearn自学指南(part24)--随机梯度下降
  2. JAVA面试题(part6)--局部内部类
  3. 《统计学:从数据到结论》学习笔记(part2)--总体是人们所关心的所有个体的集合
  4. 利用python爬虫(part2)--urllib.parse模块
  5. Yum mysql 日志_CentOS5上yum安装Apache+php+Mysql
  6. 如何创建 Angular library 并在生产环境中消费
  7. Web 应用客户端渲染和服务器端渲染的比较
  8. TypeScript 工具类型 - Utility Types
  9. 一步步把 SAP UI5 应用部署到 SAP BTP Kyma 运行环境中去
  10. 答网友提问:使用 SAP Fiori Tools 创建的 Fiori Elements 应用,如何进行二次开发?