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. 人脸识别落地开花 相关标准不可或缺
  2. Scala开发入门教程
  3. PL/SQL中查询Oracle大数(17位以上)时显示科学计数法的解决方法
  4. socket的缓冲区
  5. linux分辨率高字体小 redhat,为Redhat Enterprise Linux的两个字体子系统添加字体
  6. Excel酷炫技能,批量修改工作表名称,让你的工作事半功倍
  7. C# 委托和事件 (三)
  8. Linux格式化分区报错Could not start /dev/sda No such file or directory 解决办法
  9. 孙鑫VC学习笔记:第十三讲 (六) 关于释放内存
  10. 算法(algorithm):#include<algorithm>
  11. 调查:2013年十大急需的热门IT技能
  12. html自动切换图片特效代码,js图片自动切换效果处理代码
  13. 十进制计算机算法,计算机知识--二进制,十进制,十六制算法
  14. Centos下查看和修改网卡Mac地址
  15. Photoshop CC 2015安装激活
  16. Unity 获取 两个点的中心点
  17. CAD二次开发合并所有能合并的线
  18. 运行Chromium浏览器缺少google api密钥无法登录谷歌账号的解决办法
  19. nginx静态资源以及多个站点配置
  20. kotlin完成 Code War 题目 解析分子公式

热门文章

  1. PyTorch基础(part1)
  2. Django从理论到实战(part45)--下载CSV文件
  3. 网工小课堂(part1)--计算机网络概论
  4. 房天下数据爬取及简单数据分析
  5. SAP Spartacus org unit list当前行is-current的判定逻辑
  6. 关于Visual Studio Code里进行SAP UI5开发的代码自动完成功能
  7. Angular Shadow Root DOM的一些API
  8. SAP Spartacus Media Component
  9. Control currency conversion in gateway
  10. Oracle要对Java收费了,SAP基于Java技术栈的那些产品的客户怎么办