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为预处理语句,那么什么是预处理语句呢?预处理语句最明显的标志 ...
最新文章
- 人脸识别落地开花 相关标准不可或缺
- Scala开发入门教程
- PL/SQL中查询Oracle大数(17位以上)时显示科学计数法的解决方法
- socket的缓冲区
- linux分辨率高字体小 redhat,为Redhat Enterprise Linux的两个字体子系统添加字体
- Excel酷炫技能,批量修改工作表名称,让你的工作事半功倍
- C# 委托和事件 (三)
- Linux格式化分区报错Could not start /dev/sda No such file or directory 解决办法
- 孙鑫VC学习笔记:第十三讲 (六) 关于释放内存
- 算法(algorithm):#include<algorithm>
- 调查:2013年十大急需的热门IT技能
- html自动切换图片特效代码,js图片自动切换效果处理代码
- 十进制计算机算法,计算机知识--二进制,十进制,十六制算法
- Centos下查看和修改网卡Mac地址
- Photoshop CC 2015安装激活
- Unity 获取 两个点的中心点
- CAD二次开发合并所有能合并的线
- 运行Chromium浏览器缺少google api密钥无法登录谷歌账号的解决办法
- nginx静态资源以及多个站点配置
- kotlin完成 Code War 题目 解析分子公式
热门文章
- PyTorch基础(part1)
- Django从理论到实战(part45)--下载CSV文件
- 网工小课堂(part1)--计算机网络概论
- 房天下数据爬取及简单数据分析
- SAP Spartacus org unit list当前行is-current的判定逻辑
- 关于Visual Studio Code里进行SAP UI5开发的代码自动完成功能
- Angular Shadow Root DOM的一些API
- SAP Spartacus Media Component
- Control currency conversion in gateway
- Oracle要对Java收费了,SAP基于Java技术栈的那些产品的客户怎么办