谢谢!
------解决方案--------------------
你打开他干什么用?
如果是原生代码生成的dll,如果你要用里面的引出函数,那么你可以用loadlibrary来装载,如果你要看看里面的代码你可以反编译他看看汇编码。
如果是.net生成的dll,你可以引用他,如果你要看看他的代码,你可以用反编译工具反编译到C#、VB.net。。。。
如果是个原生代码的DLL,你可以打开dll的资源看看,
如果.....
你打开他干什么?告诉我先
------解决方案--------------------
该回复于2009-02-25 10:19:14被版主删除
------解决方案--------------------
该回复于2009-03-17 09:14:03被版主删除
------解决方案--------------------
有反编译工具可以打开。
------解决方案--------------------
因为我想知道它里面有什么,它有什么用,所以我想打开它^_^
------解决方案--------------------
哦,你可以在google上搜索
或者,我来唠叨几句。
DLL原本是动态链接库的意思,有动态就有静态连接库。C的生成应用程序的过程是这样的他首先会编译成lib文件然后使用link程序来生成最终的可执行程序,早期的编译器,包括pascal之类的都是这样的,为什么会这样呢?因为编译很费时(那时候电脑...)需要编译成中间库,最后把所有用到的中间库都“链接”起来最终生成应用程序,不希望每次生成的时候都重复编译一些没变动的代码,这就是静态链接库。
后来一些常用的库就编译成lib文件发布了,引用也很方便,但是每个程序里面都有一个同样的代码副本浪费磁盘空间,更重要的是浪费内存空间,内存中保存着大量的一抹一样的代码段,这实在太浪费了。最好能够在运行的时候加载公共库,这就是动态链接库,对于windows来说,所有进程调用的相同的DLL在内存中只有一个副本,这样内存空间就节省了,当然如果某个进程向共享的代码段写入数据那么这部分的内存分页就会为这个进程保留一个独特的副本,防止进程间共享代码段而相互干扰。
DLL的基本格式和Exe文件没有什么差别,即便是一个Exe文件也可以像普通的DLL那样被加载,如果他有引出函数的话,那么也可以被调用的。在Exe文件中会有大量的资源存在比如位图、字符串之类的,DLL中也会,那么DLL就被衍生出了一个独特的用法,就是某些DLL没有什么程序功能就是包含资源,这种DLL因为也可以动态加载,在作多国语言的开发时会用到这样的技巧。
在.net时代来临后,为了保持和原有的程序一定的兼容性,比如windows下面的exe文件和dos下的是一样的,但是它会包含一段代码检测是否运行在windows环境里,不是的话就会有一段大家都耳熟能详的提示,到现在还是这样,没变过。同样,.net中的程序集也被包装成DLL的形式,它的格式和普通DLL是一样的,同样会包含上面那个古老的提示,但是里面包含的是IL编码,他需要jit来解释的。
------解决方案--------------------
动态链接库, 一般都是封装好了的, 不好打开
------解决方案--------------------
depends可以打开
------解决方案--------------------
C#反编译工具Reflector
------解决方案--------------------
想下载个软件。
------解决方案--------------------
csdn里面搜索肯定有,如果没有那就是关键字有问题
------解决方案--------------------
路过
学习一下,
------解决方案--------------------
有反编译工具可以打开。但是我也没有试试
------解决方案--------------------
我也想知道里面有什么