我想对一个C/C++ DLL进行反汇编,已经有了一些进展,但是我想创建自己的C DLL,其中包含与原始DLL相同的函数,并比较反汇编结果。
Visual Studio添加了太多无用信息,当我删除这些信息并构建项目时,预期的DLL文件消失了。
我需要一种轻量级的、最好是集成开发环境(IDE)的工具来编辑和构建非常简单的C库。
我想对一个C/C++ DLL进行反汇编,已经有了一些进展,但是我想创建自己的C DLL,其中包含与原始DLL相同的函数,并比较反汇编结果。
Visual Studio添加了太多无用信息,当我删除这些信息并构建项目时,预期的DLL文件消失了。
我需要一种轻量级的、最好是集成开发环境(IDE)的工具来编辑和构建非常简单的C库。
GCC加上像VIM这样的文本编辑器是一种非常轻量级的替代方案。
对于Windows开发,你只需要使用MinGW即可。
编辑:如果你迫切需要一个集成开发环境(IDE),你也可以使用Eclipse中的MinGW工具和CDT插件。虽然由于安装Eclipse而导致解决方案变得更加复杂,但这正是我用来构建我的小型DLLs(在我的情况下是JNI包装器)的方法。
你可以设置自己的简单直接的makefile,或者让Eclipse自动为你完成,并且只关注源文件(*.h,*.c)。
使用这种方法而不是其他IDE的最好部分是,你不需要Eclipse来进一步构建DLL,因为生成的底层项目文件是标准的,可以直接被MinGW(或任何Unix发行版)中的集成开发工具使用,如make、configure、automake等。
MinGW添加了自己的一些东西。正确安装VC Express,避免终身麻烦。
顺便说一下,你不需要为了使用编译器而使用Visual Studio,反之亦然。缺少构建dll的奇怪情况可能是因为您没有查看正确的路径。
如果您正在构建C DLL,则会从其命令行工具集和实用程序、sdks、易于配置等中受益。在您尝试模拟另一个dll的情况下,广泛使用MS锁定专有扩展名,您最不需要的就是追逐交叉编译器问题。
我也推荐Code::Blocks,这是我使用的IDE(尽管我也安装了VS 2008)。它非常简单、轻量级,但基本上具有你期望从IDE中得到的所有功能。它提供了几个预定义的项目模板,适用于各种C和C++开发,包括DLL的模板。
下载包含MinGW的版本,你就可以得到一个完整的轻量级IDE,准备开始编译。如果你喜欢,你也可以轻松配置它来使用Visual Studio编译器而不是gcc。
试试Open Watcom。这是一个跨平台的产品,社区支持良好,可以让你在DOS、Windows、OS/2等多个平台上进行开发。最近发布了1.8版本。确实有一个轻量级的IDE。