JIT的输出,执行结束会被自动删除吗
JIT的输出,执行完了会被自动删除吗?
如果不会自动删除,那么随着时间的推移,我的磁盘已不是就要满了?
如果自动删除,下一次执行之前还要重新编译。可是下一次执行的时间是不确定的,可能很快就要再次执行。
那么.net依据什么策略来决定JIT的结果是否,以及何时应该被清除呢?
------解决思路----------------------
跟JIT的输出没有关系
那只是个显示
编译器判断代码需要编译(已改变)还是不需要编译,是有其他办法的
参考word文档你如果改了什么东西,关闭的时候就警告你需要保存.
------解决思路----------------------
实际上,你编程的时候稍微注意一下,就应该能看到,如果你改了代码,那么被改的页面标签前面会多个*号
有这个*号的就是需要重新编译的文件,没有的就不需要重新编译
------解决思路----------------------
此外,JIT的显示是在内存里的,跟你的什么磁盘没有一毛钱关系
你把VS关了,再打开,根本就找不到你上次显示的内容,每编译一次,它都从内存里丢弃旧内容,显示新内容
------解决思路----------------------
先生成的IL代码(中间代码,高级语言都是如此),然后被.net类库重新编译执行
编译出来的是可执行文件exe,但是它不是机器码
------解决思路----------------------
1.分配的是内存空间不是硬盘空间,进程关了,进程用到的内存资源就会释放;
2.第一次访问/调用才JIT编译,以后不需要再次编译;
如果不会自动删除,那么随着时间的推移,我的磁盘已不是就要满了?
如果自动删除,下一次执行之前还要重新编译。可是下一次执行的时间是不确定的,可能很快就要再次执行。
那么.net依据什么策略来决定JIT的结果是否,以及何时应该被清除呢?
------解决思路----------------------
跟JIT的输出没有关系
那只是个显示
编译器判断代码需要编译(已改变)还是不需要编译,是有其他办法的
参考word文档你如果改了什么东西,关闭的时候就警告你需要保存.
------解决思路----------------------
实际上,你编程的时候稍微注意一下,就应该能看到,如果你改了代码,那么被改的页面标签前面会多个*号
有这个*号的就是需要重新编译的文件,没有的就不需要重新编译
------解决思路----------------------
此外,JIT的显示是在内存里的,跟你的什么磁盘没有一毛钱关系
你把VS关了,再打开,根本就找不到你上次显示的内容,每编译一次,它都从内存里丢弃旧内容,显示新内容
------解决思路----------------------
先生成的IL代码(中间代码,高级语言都是如此),然后被.net类库重新编译执行
编译出来的是可执行文件exe,但是它不是机器码
------解决思路----------------------
1.分配的是内存空间不是硬盘空间,进程关了,进程用到的内存资源就会释放;
2.第一次访问/调用才JIT编译,以后不需要再次编译;