当前位置:首页 » 编程软件 » vc2008静态编译

vc2008静态编译

发布时间: 2025-01-28 21:05:47

‘壹’ 在VC里如何用Makefile文件编译

在Visual C++中编译使用Makefile文件,首先打开命令提示符(cmd.exe)或在Windows 9x中使用command.com,然后进入Visual C++的bin目录,运行vc-vars32.bat设置环境变量。之后进入Makefile所在的目录,并使用nmake /f makefile进行编译。从sourceforge下载的libjpeg源代码包含了一个makefile.vc文件,通过nmake /f makefile.vc [nodebug=1]可以编译静态库,但若需编译成dll,以便在如emacs等程序中使用,则需对makefile.vc和jmorecfg.h文件进行修改。

在makefile.vc文件中,需添加编译dll的规则如下所示:

libjpeg.lib: $(LIBOBJECTS)

$(RM) libjpeg.lib

lib -out:libjpeg.lib $(LIBOBJECTS)

添加以下行:

libjpeg.dll: $(LIBOBJECTS)

$(RM) libjpeg.dll

link -dll -out:libjpeg.dll $(LIBOBJECTS)

在jmorecfg.h中添加:

#define _WIN32_

#define JPEG_DLL

修改完成后,使用nmake /f makefile.vc nodebug=1即可编译。

将makefile复制为.mak文件,通过Visual C++打开即可,.mak文件实质上就是一个makefile文件,它能够指定编译的具体命令,以及必须先设置VC命令行环境。

vcvars32.bat用于设置环境变量,在Visual C++ 98的bin目录下执行nmake /f XXXX.mak,如果有makefile文件,则直接使用nmake即可。

这种方法适用于需要自定义编译规则或特定环境配置的情况,通过修改makefile文件,可以实现更灵活的编译方式。

‘贰’ 如何用vs和makefile文件进行编译

运行cmd.exe (or command.com in win9x)->进到vc/bin目录->运行vc-vars32.bat->进到makefile 所在的目录->nmake /f makefile
从sourceforge上下载下来的libjpeg源代码中有一个makefile.vc的文件,可以通过nmake /f makefile.vc [nodebug=1]来编译libjpeg,但是只能编译静态库,如果需要编译dll以便在emacs等程序中使用的话,需要修改makefile.vc和jmorecfg.h文件。在makefile.vc文件中添加编译dll规则:
以下内容为程序代码:
libjpeg.lib: $(LIBOBJECTS) $(RM) libjpeg.lib lib -out:libjpeg.lib $(LIBOBJECTS) #
添加以下这行 libjpeg.dll: $(LIBOBJECTS) $(RM) libjpeg.dll link -dll -out:libjpeg.dll $(LIBOBJECTS) 在jmorecfg.h中添加#define _WIN32_#define JPEG_DLL 然后nmake /f makefile.vc nodebug=1就可以编译了。
将makefile复制为一个.mak文件,然后用VC打开即可!
.mak 就是一个makefile
可以指定怎样编译(命令行,必须先设置VC命令行环境)
vcvars32.bat可设置环境,在vc98/bin下 nmake /f XXXX.mak
如果有一个makefile就只要nmake就可以了。

‘叁’ VB或VC编译的DLL文件可以部分反编译嘛

"DIONNELLE" 为常量,所以会放在程序的某个地方,有一个地址。

md5(md5(md5("DIONNELLE"))); 这样子是没有什么作用的。

反汇编出来也是几个push和call而已,没有什么作用

//////////////
VB\BC等编译过的DLL文件,目前还不能完全反编译

无论是exe还是dll都可以反汇编,即使静态不行,也可以动态调试。
破解反汇编就行 了,不一定要反编译。

//////////////////////////////
可以得到字符串的话,有可能得到是MD5三次循环嘛?

根据call的调用地址,绝对可以看出你是对同一个函数的三次调用。
至于看出你是否采用的是md5算法。这是根据代码的特征分析的。

如果要防止破解,最好给程序加上自己写的强壳,技术有很多我也说不了

,我也是略知一二而已,就不多说了。

‘肆’ 易语言的静态编译用的哪个什么VCLINK是c++的

易语言没有自己的编译器,但他用的是VC的编译器。非静态编译:易语言因为没有自己的静态编译器,如果不使用别人的编译器,你编译出去的软件,将会把你软件用到的函数和命令所属的支持库,DLL等都编译进软件或软件同目录,即使你不是用到库的全部命令,也会被把所有用到命令的很多支持库,整库编译进去,这样导致了软件体积巨大,还会影响软件效率。。静态编译:易语言因没有自己的静态编译器,所以用的是VC的编译器。使用静态编译的好处就是,当你调用了很多库里面的命令时候,不需要把这么多库都带上编译出去。静态编译可以让他从库中脱离出来,只编译被调用到的命令部分。这样减轻了软件的体积负担和运行效率。。。现在明白了吧!呵呵!记得采纳哦!!

‘伍’ VC++ Dll文件可以反编译吗

可以的。
1、Dll文件和EXE文件一样,都属于Windows可执行文件,都遵守PE文件格式。
2、静态反汇编可以通过IDA等软件来进行,动态反编译可以通过Windbg、Ollydbg来进行。以OllyDbg为例,把要反编译的DLL文件拖到其界面中即可看到其反汇编代码。

热点内容
c语言管理系统登录 发布:2025-01-30 09:05:30 浏览:403
ad原理图编译如何规避出错 发布:2025-01-30 08:59:51 浏览:475
指纹密码锁如何用手机远程开锁 发布:2025-01-30 08:59:41 浏览:603
中国期刊全文数据库的检索入口 发布:2025-01-30 08:57:16 浏览:175
手机怎么解压微盘 发布:2025-01-30 08:51:31 浏览:879
数据库exp命令 发布:2025-01-30 08:45:47 浏览:444
国服文明重启为什么进不了服务器 发布:2025-01-30 08:28:39 浏览:224
android不显示图标 发布:2025-01-30 08:06:11 浏览:464
医院yy密码是多少 发布:2025-01-30 08:03:35 浏览:979
平板电脑怎么升级到安卓 发布:2025-01-30 08:03:24 浏览:958