當前位置:首頁 » 編程軟體 » 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文件拖到其界面中即可看到其反匯編代碼。

熱點內容
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 瀏覽:878
資料庫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 瀏覽:978
平板電腦怎麼升級到安卓 發布:2025-01-30 08:03:24 瀏覽:957
新建的醫院需要什麼配置 發布:2025-01-30 07:58:32 瀏覽:814