Topic: 如何通过程序截取class被编译的时间?

  Print this page

1.如何通过程序截取class被编译的时间? Copy to clipboard
Posted by: jfml
Posted on: 2003-06-25 11:04

谢谢指点

请不要告诉我去看文件的创建时间哦

我的意思是在A。java中加如一段代码

当A被编译成class后

可以取得被编译的时间

2.Re:如何通过程序截取class被编译的时间? [Re: CrazyJavar] Copy to clipboard
Posted by: dog72
Posted on: 2003-06-25 17:47

自己写预编译程序

3.Re:如何通过程序截取class被编译的时间? [Re: dog72] Copy to clipboard
Posted by: 1255
Posted on: 2003-06-26 08:06

dog72 wrote:
自己写预编译程序

什麽意思
如何实作
可以给个例子吗

4.Re:如何通过程序截取class被编译的时间? [Re: CrazyJavar] Copy to clipboard
Posted by: jfml
Posted on: 2003-06-26 09:23

就是,示范一下OK?

5.例子:类的定义 [Re: CrazyJavar] Copy to clipboard
Posted by: dog72
Posted on: 2003-06-26 09:38

Class A
{
public static final long COMPILE_DATE = #CURRENT_DATETIME;
}

6.例子:预编译(伪代码) [Re: CrazyJavar] Copy to clipboard
Posted by: dog72
Posted on: 2003-06-26 09:44

Class CL 重载Javac中读源程序部分
{

if(line.indexOf("#CURRENT_DATETIME") != -1)
替换为new Date().getXXX();
}

当然你可以定义其他的宏

7.Re:如何通过程序截取class被编译的时间? [Re: CrazyJavar] Copy to clipboard
Posted by: jfml
Posted on: 2003-06-26 10:08

请恕小弟孤陋寡闻,您
这句
public static final long COMPILE_DATE = #CURRENT_DATETIME;

根本不会编译通过啊
另外,是否可以给一个完整的sample,小点无妨
非常感谢您的指点

8.Re:如何通过程序截取class被编译的时间? [Re: CrazyJavar] Copy to clipboard
Posted by: dog72
Posted on: 2003-06-26 10:34

当然编译不过去,所以要"预编译",你用过C/C++吗?在编译之前对源程序作预处理,替换一些宏。
因为你的需求正常的Java编译器是不支持的,所以你要改造编译器,除非你改变需求,否则这个预编译是不可避免的,自古华山一条路呀!

9.Re:如何通过程序截取class被编译的时间? [Re: dog72] Copy to clipboard
Posted by: dapan
Posted on: 2003-06-26 10:40

以前偶们用Perl做预编译,因为Perl的正则做的很好。

^_^

10.Re:如何通过程序截取class被编译的时间? [Re: CrazyJavar] Copy to clipboard
Posted by: jfml
Posted on: 2003-06-26 11:30

谢谢指点

不过我觉得为何Java不把编译的时间记录到class内部呢?

11.Re:如何通过程序截取class被编译的时间? [Re: CrazyJavar] Copy to clipboard
Posted by: dog72
Posted on: 2003-06-26 11:48

因为这不是普遍需求

12.Re:如何通过程序截取class被编译的时间? [Re: CrazyJavar] Copy to clipboard
Posted by: zhongyijie
Posted on: 2003-07-24 10:58

何必这么麻烦,另外写一个程序调用编译器,同时记录时间不就结了嘛?


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923