導航:首頁 > 軟體問題 > 怎麼把程序封成軟體

怎麼把程序封成軟體

發布時間:2022-05-17 08:29:29

『壹』 如何將程序打包成exe

1、在matlab 2018b中,這里以打包GUI界面為例,創建一個簡單的加法計算器

『貳』 編好的程序怎麼樣使它變成軟體

(轉自czj780312)首先,樓主所謂的學C,學演算法,實際上就是說學會了編寫代碼,即知道讓計算機先干什麼,再干什麼,最後得什麼結果。他遇到的問題是,沒有一個界面讓他輸入數據,因為他看到的幾乎所有軟體,都具有輸入框、「確定」、「取消」、「關閉」之類的按鈕,而他不知道從哪兒弄到這些按鈕。
其次,我覺得樓主要有必要建立一些「面向對象程序設計」的觀念,具體我不多說,樓主可以自己查。
希望大家不要嫌我羅嗦,因為我覺得,要為樓主解決問題很簡單,但要讓樓主知道為什麼會有這樣的迷惑,則須多說幾句。
在上世紀九十年代以前的微機,也就是人們說的286,386時代,計算機的運行速度還很低,那時候的計算機幾乎不需要用到滑鼠,也幾乎沒什麼圖形界面,沒音響,沒彩色……當然也沒有windows操作系統,人們操作計算機,大都是用的DOS操作系統。屏幕是黑的,字元是白的,人們輸入一組字元串組成的命令,回車,計算機就開始執行,執行完後,再由人輸入下一組命令。其界面相信樓主見識過,因為樓主似乎能將原代碼變成exe文件,運行時跳出一個黑框來,程序在黑框中運行。實際上,那個黑框就是DOS操作系統的界面,只不過以前的計算機上,這個界面占據了整個屏幕,而現在,卻是一個窗口。也就是說,windows操作系統為了方便老用戶,提供了這樣一個功能:可以運行DOS操作系統的程序,只不過不是占據整個屏幕,而是將其顯示在一個窗口中。人們可在裡面運行DOS程序,就同當年使用DOS操作系統一樣。樓主所學的TC,就是那個時代的程序設計軟體,由於幾乎不需用到圖形界面,當然也沒有提供相應的按鈕,窗體等功能。假如你非要一個按鈕,那麼你先得掌握繪圖語句,如畫線,畫點,填色等等。在公元2000年以前,湖南教育界的計算機一級考試系統界面中的那幾個按鈕就是這樣完成的。另外,我最初學用qbasic語言設計界面時,也是這樣做的,畫個按鈕形狀,當遇到回車鍵時,再畫個被按下去的形狀,半秒種後讓它又恢復彈起的形狀……總之,麻煩。
隨著計算機軟、硬體的高速發展以及滑鼠,音響,圖片,動畫在計算機中的大量應用,DOS操作系統已如昔日黃花,退出了歷史舞台。windows的普及,使得人們能夠更方便,直觀的操作電腦。那麼新興起的軟體,當然需要經常用到諸如菜單、按鈕,圖標,滾動條,進度條,文本框之類的東西,我們把它叫做控制項,在面像對像程序設計中,一個已繪好的控制項就可以理解為一個對像。顯然,每編一個程序都去畫這些東西是相當煩人的,所以微軟公司在後來提供的軟體開發工具,比如visual c++中,就直接提供這些控制項讓人們使用,因為繪制各種控制項的方式雖然麻煩,但其過程大致是相同的,所以人們只需給出諸出高度,寬度,名稱之類的參數,而把繪制的過程交給了編譯程序,就好像在word裡面畫一張表格一樣,你只需用滑鼠一拖,它就自己給你畫好了。實際上產生的繪制語句代碼,可以從頭文件里找到,不過我估計沒多少人去研究這些無多大意義的過程。為了便於理解,以VC++6.0為例:啟動程序--新建--在「工程」欄選擇「MFC AppWizard」,工程名字隨便填,確定--單選「基本對話框」,然後點「完成」--最後確定。這時你可以見到一個面板,他就是你將要設計的程序的界面。初始時只有「確定」、「取消」兩個按鈕,當然,旁邊還有一個工具箱,上面有很多其它的控制項,需要的話你自己加,比如你想要兩個框框輸入數據,就可從工具箱中選「編輯框」,畫兩個就是。樓主希望按「確定」後,顯示較大的數,則應該對著「確定」按右鍵,選「事件」,將相應的代碼寫在clicked事件裡面,若想雙擊「確定」後顯示,就將相應代碼寫在doublecliced事件里……要說更具體的操作,比如改變字體、大小、顏色、文字對齊方式等等,那是一門完整的課程,這里我就不談了,樓主可以自己查相關資料。幸運的是,VC幾乎完全兼容TC,所以TC裡面設計的源程序,只要作少量的修改,就可以在VC上運行。
說到這兒,最起碼樓主的問題應該解決了,即TC本身不提供「輸入框」、「確定」之類的控制項,因為他不是為windows操作系統設計的開發工具,如果你非要用,就只能用其提供的繪圖語句去畫,那不是一般的麻煩,當然你不介意的話,可以畫著玩玩,然後作成一個模板函數保存吧。如果你嫌麻煩,算了,還是將就著用"scanf"之類的函數吧,雖然不美觀也不方便,但用久了就習慣了……在DOS中,一個程序甚至就可以理解為一個軟體。而在windows中,則可能需要很多相對獨立卻又彼此關聯的程序,共同完成軟體功能。比如,單擊「確定」時該執行的程序;單擊「取消」時該執行的程序。所有這些程序和控制項的集合被稱為「工程」,狹義上的一個「軟體」就是一個「工程」,而廣義上的軟體,則還包括幫助文件,說明文檔,需求分析,數據流圖,調試維護記錄,客戶說明書等等一系列亂七八糟的東西。具體可參考「軟體工程」一類的書籍。
樓主的問題,實際上代表了新一代計算機專業學生的迷惑,產生這種迷惑的本質原因,是在於教學內容跟不上時代的發展。十幾年前,人們在學TC,那時學了就可以上機用,而現在,大家所見到的軟體,基本上都是圖形、窗口界面了,很多學生不知道自己學的程序設計,與自己平常見到的軟體為何有那麼大的差別。其實道理很簡單:時代變了,而教科書沒有變……
我本人並不反對學習TC之類的結構化的程序設計,畢竟,那也是一種程序設計的方法,而且有了TC作基礎,再學VC就不是一件難事,但是,要學習VC,真的如某些老師所言,必須先學好TC嗎?

『叄』 怎樣把編寫好的程序封裝成軟體啊

編譯軟體(TC等)菜單欄里都有一項叫做「軟體發布」或者叫「存儲為.exe」點選即可!!

『肆』 怎麼封裝一個軟體或者游戲

封裝成安裝軟體幾乎不可能,光是封裝的資料庫就累死你,沒源碼機會為0!ZIP壓縮在另外電腦也不能用,唯獨就是你有原來的安裝軟體,

『伍』 寫好的程序如何封裝成軟體

很多好點的開發工具可能都有打包的功能可以生成安裝文件,你拿到別的機器安裝好也能運行

『陸』 怎麼把程序變為一個軟體

首先你需要先找到一個編譯器。
然後按照編譯器的說明進行編譯鏈接,連接後生成的文件就可以執行了。

『柒』 怎樣把C++編寫的程序封裝成軟體啊_

也許 看過這篇文章 你就會明白拉

Windows世界中,有無數塊活動的大陸,它們都有一個共同的名字——動態鏈接庫。現在就走進這些神奇的活動大陸,找出它們隱藏已久的秘密吧!

初窺門徑:Windows的基石

隨便打開一個系統目錄,一眼望去就能看到很多擴展名DLL的文件,這些就是經常說的「動態鏈接庫」,DLL是Dynamic Link Library(即「動態鏈接庫」)的縮寫。從Microsoft公司推出首個版本的Windows以來,動態鏈接庫就一直是這個操作系統的基礎。

1.看看DLL里有什麼

與其用晦澀的專業術語來解決DLL是什麼,不如先來看看DLL里有什麼。DLL和EXE文件一樣,其中包含的也是程序的二進制執行代碼和程序所需的資源 (比如圖標、對話框、字元串等),可是為什麼要把代碼放在DLL裡面,而不是做成EXE呢?其實DLL中的代碼是以API函數形式出現的,通俗地說,DLL中包含的程序代碼都被做成了一個個小模塊,應用程序通過按下所需DLL中特定的按鈕,來調用DLL中這個按鈕所代表的功能。在使用「記事本」等程序時,如果要保存文件或打開文件,就會彈出通用文件對話框,選擇文件位置。你可知道,這就是調用了系統底層DLL中的通用對話框界面。

2.系統中幾個重要的DLL

Windows中有3個非常重要的底層DLL:Kernel32.dll、User32.dll、GDI32.dll。其中Kernel32.dll顧名思義就是內核相關的功能,主要包含用於管理內存、進程和線程的函數;而User32.dll中包含的則是用於執行用戶界面任務的函數,比如把用戶的滑鼠點擊操作傳遞給窗口,以便窗口根據用戶的點擊來執行預定的事件;GDI32.dll的名稱用了縮寫,全稱是Graphical Device Interface(圖形設備介面),包含用於畫圖和顯示文本的函數,比如要顯示一個程序窗口,就調用了其中的函數來畫這個窗口。

3.為什麼要用DLL

剛才在談到這個問題的時候,只解釋了DLL將程序代碼封裝成函數的原理。為什麼封裝成函數,就能成為系統中大量使用DLL的理由呢?

①擴展應用程序

由於DLL能被應用程序動態載入內存。所以,應用程序可以在需要時才將DLL載入到內存中,這讓程序的可維護性變得很高。比如QQ的視頻功能需要升級,那麼負責編寫QQ的程序員不必將QQ所有代碼都重寫,只需將視頻功能相關的DLL文件重寫即可。

②便於程序員合作

這個和最終用戶關系不大,僅供了解。大家都知道編程工具有很多,比如VB、VC、Delphi等,如果好幾個人合作來編寫一個大的程序,那麼可能有的人用VB,有的人用VC,每人負責的部分所使用的編程語言都不同,究竟放在哪個編譯器中進行編譯呢?這就好比一群來自各個國家的人在共同編寫一篇文章,如果他們所使用的語言都不同,寫出來的文章怎麼可能湊到一起呢?而有了DLL後,可以讓VC程序員寫一個DLL,然後VB程序員在程序中調用,無需為怎麼將它們都編譯為一個單獨的EXE而發愁了。

③節省內存

如果多個應用程序調用的是同一個動態鏈接庫,那麼這個DLL文件不會被重復多次裝入內存中,而是由這些應用程序共享同一個已載入內存的DLL。就好比一個辦公室中,很少會為每一個員工配置一台飲水機的,而是在一個公共位置放上一個飲水機,所有需要喝水的職員都可以共用這台飲水機,降低了成本又節約了空間。

④共享程序資源

包括剛才提到過的通用文件對話框在內,DLL文件提供了應用程序間共享資源的可能。資源可以是程序對話框、字元串、圖標,或者聲音文件等。

⑤解決應用程序本地化問題

在下載了某個程序的漢化包後,打開漢化說明,經常可以看到用下載包中的DLL文件覆蓋掉程序原來的DLL,漢化就完成了。這些程序都是將執行代碼和應用程序界面分開編寫了,所以漢化者只需簡單地將其中和程序界面相關的DLL漢化並發布即可。

求知若渴:探究DLL的真相

誰知道DLL里究竟有多少函數,又有誰知道EXE調用了哪個DLL的哪些函數?其實,這個問題並不難解決。分析EXE文件的工具Dependency Walker(以下簡稱Depends,點擊下載Dependency Walker),今天它就是大家探險的工具,把DLL真相探個通通透透。

1.看看DLL里有多少函數

第一步:下載並解壓Depends,運行其中的depends.exe,然後選擇菜單「File→Open」(文件→打開),在文件選擇框中選中需要分析的DLL文件並打開,此處選擇QQ目錄下的QQZip.dll。

第二步:在程序左側的樹狀欄中就列出了這個DLL使用了哪些其他DLL的功能函數(原來DLL中還可以調用其他DLL^O^),而右側的兩個分欄列表分別顯示了函數輸入及輸出表,函數輸出表即為該DLL提供給其他EXE或者DLL調用的函數的總列表。

第三步:函數輸出表的Function欄中即為輸出函數的名稱,在QQZip.dll中共發現了2個函數:Unzip、Zip。因此可以判斷該DLL在QQ程序中負責壓縮和解壓縮的任務。

2.審審EXE究竟用了哪個DLL

還是拿QQ來作為例子,在Depends中打開QQ.exe,這時界面左側的樹狀列表中顯示的就是QQ.exe調用的DLL列表,如果展開這些DLL分支,還會發現其他的DLL,這就說明QQ調用的這些DLL文件還有可能(幾乎是肯定)再調用別的DLL。這就好比買了一台新的DVD機,可能其中用的機芯是SONY的,而這個機芯里的一個小電容又有可能是別的公司的,這是同樣的道理。

用DLL看穿EXE真面目

剛才得到了QQ.exe所使用的DLL列表,其實通過這個列表,還能分析出很多別的信息。比如其中包含MFC42.dll,所以可以判斷QQ.exe是採用VC(即Visual C++)編寫的,而包含WSOCK32.dll則說明這個程序帶有網路通訊功能。以下是一個簡表,大家在分析別的EXE時可以根據其所使用的DLL來對其功能進行初步判斷。

DLL文件名 可以判斷出的EXE信息

MFC42.dll 使用VC5.0/6.0編寫。

VBRun*.dll 「*」代表數字版本號,使用VB3.0/4.0編寫。

MSVBVM50.dll 使用VB5.0編寫,在Windows 98(SE)上自帶該DLL。

MSVBVM60.dll 使用VB6.0編寫,在Windows Me/2000/XP等系統上自帶該DLL。

ADVAPI32.dll 可能會進行注冊表操作。

WSOCK32.dll 具備網路通訊功能。

WS2_32.dll 具備網路通訊功能。

WININET.dll 具備HTTP瀏覽、下載等功能,典型的例子是瀏覽器、下載工具。

WINMM.dll 具備多媒體播放能力。

DDRAW.dll 游戲、高級圖像處理工具。

D3D*.dll 3D游戲,或者動畫處理工具。

4.DLL是個大寶庫

除供應用程序調用函數的DLL外,還有另一種用來保存資源的DLL,比如QQ目錄下的QQRes.dll,用Depends打開後發現沒有任何輸出函數,難道是一個雞肋DLL?可是改用資源工具Resource Hacker(下載地址:)打開這個DLL後,就發現原來其中保存了這么多QQ的資源,包括圖標、音樂、圖片、字元串、對話框……

刨根問底:DLL的故事

DLL引起的故障是很常見的,為什麼會引起故障?遇到故障怎麼解決?噓~偷聽一下DLL的對話,你就會明白了。

1.從搬運工談介面兼容性

在Windows工地上,有一個名叫EXE的包工頭,他手下有很多稱為DLL的建築工人。其中有一個專門負責搬運的DLL(暫且稱為「搬運工A」),每次需要搬運水泥時,包工頭EXE都只要對他喊一聲:「來!搬。」

過了一段時間,搬運工A覺得自己的效率太低,於是從原來的每次搬1袋水泥改成了每次搬3袋水泥。改進了搬運方法後,EXE包工頭仍然每次只是喊一聲:「來!搬。」卻不知搬運工A已經改變了搬運的方法。

但又過了一段時間,包工頭EXE把搬運工A給辭退了,從別的工地上找來了另一個DLL(暫且稱為「搬運工B」)。這個搬運工在別的工地的時候,搬運東西特別快,所以包工頭EXE決定把搬運工作給「升級」一下。但真正開始工作時,包工頭才發現出了問題……現在不管叫幾遍「來!搬。」這個新來的搬運工B都不知道究竟應該搬什麼。

上面的例子中,搬運工A改進搬運方法,但EXE調用它的方法仍不變,這就是DLL升級的原理,改進了內部的實現方法,但調用介面不變,這樣EXE文件不用跟著升級,就能調用新版本的DLL了。而搬運工B的故事說明,不管新版本的DLL效率多高,如果介面(可以理解為DLL中輸出的函數名)與原來的不一致,那麼EXE就不知道也無法調用它了。

2.登記身份證的DLL

在系統故障中,有很多都是由於DLL文件沒有注冊造成的,比如Windows XP的壓縮文件夾功能出現故障就很有可能是系統目錄中的zipfldr.dll沒有注冊造成的,這類故障的解決方法也大多是運行如下命令:

regsvr32 DLL文件名

很多人不理解為什麼要這么做,是不是所有的DLL都能這樣做呢?

其實系統中有兩種DLL,一種是不需注冊即可使用的,另一種則是必須經過系統登錄(即注冊)才能使用的。就好像一個臨時工,和一個記錄在員工名單上的長期合同工的區別一樣。如何才能區分這兩種DLL呢?方法很簡單,用剛才的Depends打開這個DLL,同樣是看函數輸出表,如果其中包含以下兩個函數 (前者是注冊DLL,後者是反注冊DLL),那麼就一定是需要注冊才能使用的DLL了。

DllRegisterServer

DllUnregisterServer

而regsvr32這個命令,實際上就是調用DLL中的這兩個函數(「regsvr32 /u DLL文件名」調用的即為DllUnregisterServer反注冊函數)。

3.插件DLL的秘密

Winamp、Foobar 2000等很多軟體都具有插件功能,從網上下載一個DLL放在插件目錄下就能讓程序支持新的功能,這是怎麼做到的呢?就拿時下流行的播放軟體「千千靜聽」來舉例吧。

「千千靜聽」的插件目錄在該軟體安裝目錄下的Addin子目錄下,程序的插件目錄一般都會以「Plugins」、「Addin」來命名。在「千千靜聽」 的插件目錄中有許多DLL文件,比如tt_asf.dll、tt_rm.dll等,從文件名中就能看出這些DLL是用來讓這個播放器支持各種不同類型的音頻文件的。同樣,用Depends打開這些文件,你就會發現這些文件的輸出函數表中都包括一個同樣的函數:ttpGetSoundAddIn

千千靜聽所使用的插件協議

這就是插件的秘密,各種支持插件功能的程序在發布時,都會同時發布一份插件協議,協議中規定了該程序將要調用的插件DLL中必須包含的函數名稱及相關的參數規則,然後第三方的插件程序員在編寫這個程序的插件時就根據這個插件的標准來編寫DLL的輸出函數。

①對於插件tt_asf.dll

ttplayer.exe(「千千靜聽」主程序)對tt_asf.dll說:「我要調用你的ttpGetSoundAddIn函數!」

tt_asf.dll回答:「OK。」

②如果把不相關的DLL放進AddIn目錄

ttplayer.exe對未知DLL說:「我要調用你的ttpGetSoundAddIn函數!」

tt_asf.dll回答:「那是什麼函數?從來沒聽說過!」

『捌』 怎樣把C源程序封裝成可單獨執行的exe軟體(不通過VC軟體執行)

可以在程序最後加"system pause"或"return(0)",試試看,在debug文件夾中的exe文件應該就可以單獨執行了。可以試試看。

『玖』 怎樣把JAVA編寫的程序封裝成軟體啊

想要把java生成可執行文件需要第三方軟體的支持,不過在沒有安裝JDK的機器上是不可能運行JAVA程序的,哪怕是編譯成為exe文件。

將Java應用程序本地編譯為EXE的幾種方法(推薦使用JOVE和JET)
1. 從www.towerj.com獲得一個TowerJ編譯器,該編譯器可以將你的CLASS文件
編譯成EXE文件。
2. 利用微軟的SDK-Java 4.0所提供的jexegen.exe創建EXE文件,這個軟體可以
從微軟的網站免費下載,地址如下:
http://www.microsoft.com/java/download/dl_sdk40.htm
jexegen的語法如下:
jexegen /OUT:exe_file_name
/MAIN:main_class_name main_class_file_name.class
[and other classes]
3. Visual Cafe提供了一個能夠創建EXE文件的本地編譯器。你需要安裝該光碟
上提供的EXE組件。
4. 使用InstallAnywhere創建安裝盤。
5. 使用IBM AlphaWorks提供的一個高性能Java編譯器,該編譯器可以從下面的
地址獲得:
http://www.alphaworks.ibm.com/tech/hpc
6. JET是一個優秀的Java語言本地編譯器。該編譯器可以從這個網站獲得一個
測試版本:
http://www.excelsior-usa.com/jet.html
7. Instantiations公司的JOVE
http://www.instantiations.com/jove/...ejovesystem.htm
JOVE公司合並了以前的SuperCede,一個優秀的本地編譯器,現在SuperCede
已經不復存在了。
8. JToEXE
Bravo Zulu Consulting, Inc開發的一款本地編譯器,本來可以從該公司的
網頁上免費下載的,不過目前在該公司的主頁上找不到了。

『拾』 怎麼把用c語言開發的程序變成軟體

1、打開Microsoft Visual Studio;

閱讀全文

與怎麼把程序封成軟體相關的資料

熱點內容
電腦上怎麼下載班智達的軟體 瀏覽:870
無痕跡消除圖片軟體 瀏覽:469
免費小票軟體 瀏覽:690
華為在哪裡設置軟體停止運行 瀏覽:663
用電腦鍵盤調節聲音大小 瀏覽:1015
自動刷軟體賺錢 瀏覽:1013
古裝連續劇免費版 瀏覽:1174
工免費漫畫 瀏覽:750
手機軟體專門儲存文件 瀏覽:1253
uos如何用命令安裝軟體 瀏覽:1034
有線耳機插電腦麥克風 瀏覽:411
侏羅紀世界3在線觀看完整免費 瀏覽:749
單個軟體怎麼設置名稱 瀏覽:483
鳳凰網電腦版下載視頻怎麼下載視頻怎麼下載 瀏覽:1134
明白之後如何免費獲得無人機 瀏覽:576
如何解禁軟體菜單 瀏覽:567
副路由器連接電腦視頻 瀏覽:1098
內置wifi電視如何裝軟體 瀏覽:814
手機換零免費雪碧 瀏覽:1311
國行蘋果如何下載美版軟體 瀏覽:935