有些功能不用DLL做不出來,例如要做Hook來攔截其他行程...
另外,只要用static link到程式庫,程式庫裡面的東西就會編譯到exe中,這樣就不需要依賴dll,只是檔案會變很大。而且,有許多程式庫可能刻意不提供static link,這樣你就不得不使用dll了。
Java大概沒辦法,它就是要依賴他的runtime(rt.jar等),而且它也只提供DLL(jvm.dll)讓你與用C開發的程式做整合。(要不然找apache的和諧版(harmony)也許還有機會?)
不論用哪個C,應該都有編譯選項可以選擇用static或是dynamic的方式與程式庫連結。我自己用過的像是C++ Builder、VC、MinGW等等應該都是這樣的。不過我印象中,C++ Builder好像還是需要一兩個runtime dll(太久沒用,記不太清楚了)。
也許有綠色軟體的包裝工具,可以把所有使用到的執行檔與dll等包裝成一個單一執行檔,然後執行時動態把東西解開,這樣就不會感覺到有很多dll等...可以找找看吧?只是我沒用過。
幾個思路,僅供參考。
嗯
看起來我似乎該往C++去找
可惜身邊沒有C++的朋友
我沒有要寫複雜的程式(eg.Hook)
我只是想寫一些簡單的資料處理
加上上網抓一些資料
概念大概就像是Widget+綠色版吧...
或是用Dev-C++,它算是MinGW的IDE環境。不過如果要做UI的話,恐怕用VC比較方便。另外,QT也有免費工具可以用(QT sdk裡面有IDE)。
簡單程式推薦Autoit,可以compiler成exe,同時可以把別入的exe包進自己的exe裡,內建有InetGet函數可抓網路上的資料。
嗯,謝謝回覆
也沒有AutoIt那麼簡單啦
希望還是要有UI和DB
全部都要.你寫Dos是因為OS有包含了.
你寫.NET 用比較新的OS,用比較舊的 .NET Framework 也不用去裝.因為已經包含了.
你去寫組譯程式可能不用吧!
"你寫Dos是因為OS有包含了"
請問一下
是包含了什麼?
哦
所以DOS OS有包含了底層的Library
而新的Windows2008有包含了.NET Framework
所以
答案就是「全部都要」?
static/dynamic link 傻傻分不清楚...唉
什麼是靜態?什麼是動態?
原先沒有的功能你就要去安裝相關的檔案.
antijava 你有本事你在Dos下寫一隻Windows程式吧!
這種功能,我只要下載一個檔案就可以安裝好了吧!
現在的程式,網路安裝,下載一個檔他就自己安裝全部要的東西了.
要不要裝 Framework 或其他的有的沒的,User根本不知道.
單純針對問題本身"可包裝成單一執行檔的開發工具或語言"
你的答案是「全部都要」
很明顯是錯誤的
因為別人已經指出C++ Builder辦得到
不必再多說其他的543了
這個樓主說話的語氣十分的不具水準.
不容許別人的意見,你上來問的屁.
以前Borland C++ Builder有這樣的功能...
確定嗎?
那現在還有這樣的功能嗎?
謝謝回覆
有,C++ Buolder 2009還有。
記得是在option那裡,Linker設定鍾,把『Dynamic RTL』設定成『false』,還有一些選項...設定一下,這樣,就可以把compile出來的exe檔直拿去user端執行,不需要runtime dlls
「"以前"Borland C++ Builder有這樣的功能」
人家 Borland C++ Builder 現在還活的好好的啦 ......
就如同 wiselou 所說,Borland C++ Builder 是可以將所有用到的函式館打包到.EXE檔裡,應該符合版大的期望,只是這麼一來,執行檔就越塞越大...
一個胖胖的執行檔
和一堆檔案(執行檔+DLL..)
我還是比較喜歡前者
謝謝回覆