iT邦幫忙

0

可包裝成單一執行檔的開發工具或語言

請教各位大大
有什麼開發工具或語言
可以將寫出來的結果包成「單一執行檔」
而且不需其他檔案就能執行
也就是不需要DLL/OCX/.NET Framework/JRE

概念上就像DOS時代的C程式
只要一個.EXE就能執行

如果不相信
這裡就有範例

印象中Delphi好像可以
還是上來請教各位大大

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
23
fillano
iT邦超人 1 級 ‧ 2009-09-01 12:04:03
最佳解答

有些功能不用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+綠色版吧...

fillano iT邦超人 1 級 ‧ 2009-09-01 13:29:57 檢舉

或是用Dev-C++,它算是MinGW的IDE環境。不過如果要做UI的話,恐怕用VC比較方便。另外,QT也有免費工具可以用(QT sdk裡面有IDE)。

James iT邦大師 6 級 ‧ 2009-09-01 13:54:33 檢舉

簡單程式推薦Autoit,可以compiler成exe,同時可以把別入的exe包進自己的exe裡,內建有InetGet函數可抓網路上的資料。

嗯,謝謝回覆
也沒有AutoIt那麼簡單啦
希望還是要有UI和DB

James iT邦大師 6 級 ‧ 2009-09-01 14:36:51 檢舉

UI現在有支援,DB的話可以include <SQLite.au3>支援SQLite 或 MySQL.au3支援MySQL

fillano iT邦超人 1 級 ‧ 2009-09-02 20:59:24 檢舉

這個好像很有趣。

謝謝回覆
最佳解答就是您了 ^_^

18
pantc328
iT邦高手 1 級 ‧ 2009-09-01 11:19:27

全部都要.你寫Dos是因為OS有包含了.
你寫.NET 用比較新的OS,用比較舊的 .NET Framework 也不用去裝.因為已經包含了.
你去寫組譯程式可能不用吧!

看更多先前的回應...收起先前的回應...

"你寫Dos是因為OS有包含了"
請問一下
是包含了什麼?


所以DOS OS有包含了底層的Library
而新的Windows2008有包含了.NET Framework
所以
答案就是「全部都要」?

static/dynamic link 傻傻分不清楚...唉

pantc328 iT邦高手 1 級 ‧ 2009-09-03 17:08:06 檢舉

什麼是靜態?什麼是動態?
原先沒有的功能你就要去安裝相關的檔案.
antijava 你有本事你在Dos下寫一隻Windows程式吧!

pantc328 iT邦高手 1 級 ‧ 2009-09-03 17:15:28 檢舉

這種功能,我只要下載一個檔案就可以安裝好了吧!
現在的程式,網路安裝,下載一個檔他就自己安裝全部要的東西了.
要不要裝 Framework 或其他的有的沒的,User根本不知道.

單純針對問題本身"可包裝成單一執行檔的開發工具或語言"
你的答案是「全部都要」
很明顯是錯誤的
因為別人已經指出C++ Builder辦得到
不必再多說其他的543了

pantc328 iT邦高手 1 級 ‧ 2009-09-04 08:59:35 檢舉

這個樓主說話的語氣十分的不具水準.
不容許別人的意見,你上來問的屁.

總裁 iT邦好手 1 級 ‧ 2009-09-04 09:32:50 檢舉

守護神被人嗆, 誰來守護守護神呢??

是因為我自己的水準不夠
怨不得別人呀...(淚奔)

外獅佬 iT邦大師 1 級 ‧ 2009-09-04 09:45:24 檢舉

啊....不要這樣啦....
討論而已囉.....有必要弄到這麼複雜.....

16
外獅佬
iT邦大師 1 級 ‧ 2009-09-01 11:24:01

以前Borland C++ Builder有這樣的功能...

看更多先前的回應...收起先前的回應...

確定嗎?
那現在還有這樣的功能嗎?
謝謝回覆

外獅佬 iT邦大師 1 級 ‧ 2009-09-01 12:18:27 檢舉

有,C++ Buolder 2009還有。

外獅佬 iT邦大師 1 級 ‧ 2009-09-01 12:26:40 檢舉

記得是在option那裡,Linker設定鍾,把『Dynamic RTL』設定成『false』,還有一些選項...設定一下,這樣,就可以把compile出來的exe檔直拿去user端執行,不需要runtime dlls

jaya iT邦新手 3 級 ‧ 2009-09-02 09:21:37 檢舉

「"以前"Borland C++ Builder有這樣的功能」
人家 Borland C++ Builder 現在還活的好好的啦 ......

就如同 wiselou 所說,Borland C++ Builder 是可以將所有用到的函式館打包到.EXE檔裡,應該符合版大的期望,只是這麼一來,執行檔就越塞越大...

一個胖胖的執行檔
和一堆檔案(執行檔+DLL..)
我還是比較喜歡前者
謝謝回覆

外獅佬 iT邦大師 1 級 ‧ 2009-09-02 09:42:17 檢舉

"Borland" C++ Builder的確是以前啦~~
Borland早就把它的這一塊賣出去了...所以,C++ Builder早就不屬於Borland了

謝謝回覆

goodnight iT邦研究生 2 級 ‧ 2009-09-04 23:13:06 檢舉

visual foxpro, vb 都可以啊

我要發表回答

立即登入回答