当前位置:首页 » 编程软件 » 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文件拖到其界面中即可看到其反汇编代码。

热点内容
app什么情况下找不到服务器 发布:2025-05-12 15:46:25 浏览:714
php跳过if 发布:2025-05-12 15:34:29 浏览:467
不定时算法 发布:2025-05-12 15:30:16 浏览:131
c语言延时1ms程序 发布:2025-05-12 15:01:30 浏览:166
动物园灵长类动物配置什么植物 发布:2025-05-12 14:49:59 浏览:737
wifi密码设置什么好 发布:2025-05-12 14:49:17 浏览:150
三位数乘两位数速算法 发布:2025-05-12 13:05:48 浏览:399
暴风影音缓存在哪里 发布:2025-05-12 12:42:03 浏览:545
access数据库exe 发布:2025-05-12 12:39:04 浏览:632
五开的配置是什么 发布:2025-05-12 12:36:37 浏览:367