ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较

简介: ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较

ABAP

使用关键字重复引入一个include program,会报syntax error:image.png原因是因为ABAP对include这个关键字的实现和其他编程语言有点不一样,在激活时简单地把被include的program的全部源代码替换原程序里INCLUDE incl这一行,所以重复引入一个include program会报错。image.png值得一提的是,ABAP report悄悄得include了很多标准的program,比如.image.png因此如果再次重复引入,同样的会遇到语法错误。image.png

import in Java

Java的import和ABAP的include关键字实现的效果不一样,在Java里使用import引入包名可以让程序猿少打些字,比如比较下图第13行和第15行的写法,明显前者要简洁一些。image.png因为import引入的是包名而不会像ABAP那样将包的源代码引入到使用了import的源程序,因此可以重复import。只是将Java编译器生成的.class反编译之后,会发现编译器自动将冗余的import移除,且自动引入了新的包java.io.printStream:image.pnginclude in C

谭浩强老师的《C程序设计》一书中提到,编译器预处理时,要对#include命令进行"文件包含处理":将被include的头文件的全部内容复制到#include处。


那么C语言的include类似ABAP的关键字include。


例子:a.c里include标准的:image.png这个头文件的位置: /usr/includeimage.png里面是一些宏定义和函数声明:image.pngb.c里没有include这个头文件:image.png所以b.c编译生成的执行文件尺寸小于a.c:image.png

mport in C4C ABSL

同Java的import,不会对后台生成的ABAP代码有任何影响。image.png



相关文章
|
2月前
|
前端开发 Java 编译器
【前端学java】java中的package与import(3)
【8月更文挑战第9天】java中的package与import
21 2
【前端学java】java中的package与import(3)
|
5月前
|
安全 API 数据库
SAP ABAP OData 中 Function import 的概念介绍
SAP ABAP OData 中 Function import 的概念介绍
|
5月前
|
前端开发 数据库 开发者
如何在 SEGW 事务码里为 SAP ABAP OData 服务实现 Function Import 试读版
如何在 SEGW 事务码里为 SAP ABAP OData 服务实现 Function Import 试读版
|
5月前
|
XML 前端开发 Oracle
16:JSP简介、注释与Scriptlet、Page指令元素、Include操作、内置对象、四种属性-Java Web
16:JSP简介、注释与Scriptlet、Page指令元素、Include操作、内置对象、四种属性-Java Web
51 2
|
5月前
|
Java 编译器 Apache
Java语言中的import语句:深入解析与应用
Java语言中的import语句:深入解析与应用
627 0
|
5月前
|
Java 程序员 编译器
Java的import语句
Java的import语句
81 0
|
存储 Java BI
如何使用 Java 程序通过 SAP Java Connector 调用 ABAP 系统的函数试读版
如何使用 Java 程序通过 SAP Java Connector 调用 ABAP 系统的函数试读版
|
5月前
|
Java
Java导入语句(Import Statements
Java导入语句(Import Statements
144 2
小技巧分享:如何使用动态断点快速找到成对的 ABAP 内存 IMPORT 和 EXPORT 的代码位置
小技巧分享:如何使用动态断点快速找到成对的 ABAP 内存 IMPORT 和 EXPORT 的代码位置
|
Java 测试技术 Docker
docker export,import后无法运行,如java命令找不到,运行后容器内编码有问题
在进行docker export导出镜像,然后import后运行,发现要么提示无执行命令,要么找不到执行程序,这都是因为在export后都失效了,所以我们需要在当前Dockerfile里重新声明一下,然后我这还发现容器内中文乱码,所以编码也需设置一下,具体配置如下:
483 2