反編譯dll用什么軟件好?
如果在64位計(jì)算機(jī)上安裝64位Matlab,在編譯dll時(shí),必須使用x64作為平臺(tái)才能正常加載庫(kù)。否則這就是你現(xiàn)在的德行。
如何反編譯dll文件?
Dll是二進(jìn)制代碼,只能反編譯成匯編;但是原則上絕對(duì)有可能一切都是可逆的(包括時(shí)間,愛因斯坦試圖證明),但是反編譯的信息(符號(hào)和表達(dá)式是不可逆的),也就是編譯是多對(duì)一的,也就是多個(gè)源碼可以編譯成同一個(gè)機(jī)器碼,同一臺(tái)機(jī)器不可能窮盡所有可能的源碼(理論上可能,但不可能),而且目前反編譯的軟件反編譯的源碼可讀性太強(qiáng)。
如何在makefile添加編譯?
運(yùn)行cmd.exe(或者在win9x中)-gt到vc/bin目錄-gt到makefile所在的目錄-gtnmake/fmakefile在sourceforge下載的libjpeg源代碼中有一個(gè)文件??梢酝ㄟ^nmake/f[nodebug1]編譯libjpeg,但是只能編譯靜態(tài)庫(kù)。如果需要編譯用于emacs和其他程序的dll,需要修改和jmorecfg.件。在文件中添加編譯dll的規(guī)則:以下內(nèi)容是程序代碼:$(libobjects)$(RM)lib$(libobjects)#添加下面一行l(wèi)ibjp:$(libobjects)$(RM)。Libjp:libjpeg.dll$(libobjects)在jmorecfg.h中添加#define_WIN32_#defineJPEG_DLL,然后就可以編譯nmake/fnodebug1了。把makefile復(fù)制成.mak文件,然后用VC打開!。mak是一個(gè)makefile,可以指定如何編譯(命令行,必須先設(shè)置VC命令行環(huán)境),可以設(shè)置環(huán)境。在vc98/bin下,nmake/f只有在有makefile的情況下才需要nmake。