使用关键字重复引入一个include program,会报syntax error:java
缘由是由于ABAP对include这个关键字的实现和其余编程语言有点不同,在激活时简单地把被include的program的所有源代码替换原程序里INCLUDE incl这一行,因此重复引入一个include program会报错。编程
值得一提的是,ABAP report悄悄得include了不少标准的program,好比<sysini>.编程语言
所以若是再次重复引入,一样的会遇到语法错误。函数
Java的import和ABAP的include关键字实现的效果不同,在Java里使用import引入包名能够让程序猿少打些字,好比比较下图第13行和第15行的写法,明显前者要简洁一些。设计
由于import引入的是包名而不会像ABAP那样将包的源代码引入到使用了import的源程序,所以能够重复import。只是将Java编译器生成的.class反编译以后,会发现编译器自动将冗余的import移除,且自动引入了新的包java.io.printStream:3d
谭浩强老师的《C程序设计》一书中提到,编译器预处理时,要对#include命令进行"文件包含处理":将被include的头文件的所有内容复制到#include处。blog
那么C语言的include相似ABAP的关键字include。编译器
例子:a.c里include标准的<stdio.h>:io
这个头文件的位置: /usr/include编译
里面是一些宏定义和函数声明:
b.c里没有include这个头文件:
因此b.c编译生成的执行文件尺寸小于a.c:
同Java的import,不会对后台生成的ABAP代码有任何影响。
要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码: