ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较

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

 2018/5/21 21:11:59  JerryWang_SAP  程序员俱乐部  我要评论(0)
  • 摘要:ABAP使用关键字重复引入一个includeprogram,会报syntaxerror:原因是因为ABAP对include这个关键字的实现和其他编程语言有点不一样,在激活时简单地把被include的program的全部源代码替换原程序里INCLUDEincl这一行,所以重复引入一个includeprogram会报错。值得一提的是,ABAPreport悄悄得include了很多标准的program,比如<sysini>.因此如果再次重复引入,同样的会遇到语法错误
  • 标签:Java 关键字

ABAP

使用关键字重复引入一个include program,会报syntax error:

?

原因是因为ABAP对include这个关键字的实现和其他编程语言有点不一样,在激活时简单地把被include的program的全部源代码替换原程序里INCLUDE incl这一行,所以重复引入一个include program会报错。

?

值得一提的是,ABAP report悄悄得include了很多标准的program,比如<sysini>.

?

因此如果再次重复引入,同样的会遇到语法错误

?

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的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

? ?
发表评论
用户名: 匿名