當前位置:首頁 » 辦公資訊 » 怎樣用代碼運行文件

怎樣用代碼運行文件

發布時間: 2022-06-25 02:41:54

① 如何編寫高質量的VB代碼運行程序文件

1. 使用整數(Integer)和長整數(Long)
提高代碼運行速度最簡單的方法莫過於使用正確的數據類型了。也許你不相信,但是正確地選擇數據類型可以大幅度提升代碼的性能。在大多數情況下,程序員可以將Single,Double和Currency類型的變數替換為Integer或Long類型的變數,因為VB處理Integer和Long的能力遠遠高於處理其它幾種數據類型。
在大多數情況下,程序員選擇使用Single或Double的原因是因為它們能夠保存小數。但是小數也可以保存在Integer類型的變數中。例如程序中約定有三位小數,那麼只需要將保存在Integer變數中的數值除以1000就可以得到結果。根據我的經驗,使用Integer和Long替代Single,Double和Currency後,代碼的運行速度可以提高將近10倍。
2. 避免使用變體
對於一個VB程序員來說,這是再明顯不過的事情了。變體類型的變數需要16個位元組的空間來保存數據,而一個整數(Integer)只需要2個位元組。通常使用變體類型的目的是為了減少設計的工4作量和代碼量,也有的程序員圖個省事而使用它。但是如果一個軟體經過了嚴格設計和按照規范編碼的話,完全可以避免使用變體類型。
在這里順帶提一句,對於Object對象也存在同樣的問題。請看下面的代碼:
Dim FSO
Set FSO = New Scripting.FileSystemObject

Dim FSO as object
Set FSO = New Scripting.FileSystemObject
上面的代碼由於在申明的時候沒有指定數據類型,在賦值時將浪費內存和CPU時間。正確的代碼應該象下面這樣:
Dim FSO as New FileSystemObject
3. 盡量避免使用屬性
在平時的代碼中,最常見的比較低效的代碼就是在可以使用變數的情況下,反復使用屬性(Property),尤其是在循環中。要知道存取變數的速度是存取屬性的速度的20倍左右。下面這段代碼是很多程序員在程序中會使用到的:
Dim intCon as Integer
For intCon = 0 to Ubound(SomVar())
Text1.Text = Text1.Text & vbcrlf & SomeVar(intCon)
Next intCon
下面這段代碼的執行速度是上面代碼的20倍。
Dim intCon as Integer
Dim sOutput as String
For intCon = 0 to Ubound(SomeVar())
sOutput = sOutput & vbCrlf &
SomeVar(intCon)
Next
Text1.Text = sOutput
4. 盡量使用數組,避免使用集合
除非你必須使用集合(Collection),否則你應該盡量使用數組。據測試,數組的存取速度可以達到集合的100倍。這個數字聽起來有點駭人聽聞,但是如果你考慮到集合是一個對象,你就會明白為什麼差異會這么大。
5. 展開小的循環體
在編碼的時候,有可能遇到這種情況:一個循環體只會循環2到3次,而且循環體由幾行代碼組成。在這種情況下,你可以把循環展開。原因是循環會佔用額外的CPU時間。但是如果循環比較復雜,你就沒有必要這樣做了。
6. 避免使用很短的函數
和使用小的循環體相同,調用只有幾行代碼的函數也是不經濟的--調用函數所花費的時間或許比執行函數中的代碼需要更長的時間。在這種情況下,你可以把函數中的代碼拷貝到原來調用函數的地方。
7. 減少對子對象的引用
在VB中,通過使用.來實現對象的引用。例如:
Form1.Text1.Text
在上面的例子中,程序引用了兩個對象:Form1和Text1。利用這種方法引用效率很低。但遺憾的是,沒有辦法可以避免它。程序員唯一可以做就是使用With或者將用另一個對象保存子對象(Text1)。
注釋: 使用With
With frmMain.Text1
.Text = "Learn VB"
.Alignment = 0
.Tag = "Its my life"
.BackColor = vbBlack
.ForeColor = vbWhite
End With
或者
注釋: 使用另一個對象保存子對象
Dim txtTextBox as TextBox
Set txtTextBox = frmMain.Text1
TxtTextBox.Text = "Learn VB"
TxtTextBox.Alignment = 0
TxtTextBox.Tag = "Its my life"
TxtTextBox.BackColor = vbBlack
TxtTextBox.ForeColor = vbWhite 注意,上面提到的方法只適用於需要對一個對象的子對象進行操作的時候,下面這段代碼是不正確的:
With Text1
.Text = "Learn VB"
.Alignment = 0
.Tag = "Its my life"
.BackColor = vbBlack
.ForeColor = vbWhite
End With
很不幸的是,我們常常可以在實際的代碼中發現類似於上面的代碼。這樣做只會使代碼的執行速度更慢。原因是With塊編譯後會形成一個分枝,會增加了額外的處理工作。
8. 檢查字元串是否為空
大多數程序員在檢查字元串是否為空時會使用下面的方法:
If Text1.Text = "" then
注釋: 執行操作
End if
很不幸,進行字元串比較需要的處理量甚至比讀取屬性還要大。因此我建議大家使用下面的方法:
If Len(Text1.Text) = 0 then
注釋: 執行操作
End if
9. 去除Next關鍵字後的變數名
在Next關鍵字後加上變數名會導致代碼的效率下降。我也不知道為什麼會這樣,只是一個經驗而已。不過我想很少有程序員會這樣畫蛇添足,畢竟大多數程序員都是惜字如金的人。
注釋: 錯誤的代碼
For iCount = 1 to 10
注釋: 執行操作
Next iCount
注釋: 正確的代碼
For iCount = 1 to 10
注釋: 執行操作
Next
10. 使用數組,而不是多個變數
當你有多個保存類似數據的變數時,可以考慮將他們用一個數組代替。在VB中,數組是最高效的數據結構之一。
11. 使用動態數組,而不是靜態數組
使用動態數組對代碼的執行速度不會產生太大的影響,但是在某些情況下可以節約大量的資源。
12. 銷毀對象
無論編寫的是什麼軟體,程序員都需要考慮在用戶決定終止軟體運行後釋放軟體佔用的內存空間。但遺憾的是很多程序員對這一點好像並不是很在意。正確的做法是在退出程序前需要銷毀程序中使用的對象。例如:
Dim FSO as New FileSystemObject
' 執行操作
' 銷毀對象
Set FSO = Nothing
對於窗體,可以進行卸載:
Unload frmMain

Set frmMain = Nothing
13. 變長和定長字元串
從技術上來說,與變長字元串相比,定長字元串需要較少的處理時間和空間。但是定長字元串的缺點在於在很多情況下,你都需要調用Trim函數以去除字元串末的空字元,這樣反而會降低代碼效率。所以除非是字元串的長度不會變化,否則還是使用變長字元串。
14. 使用類模塊,而不是ActiveX控制項
除非ActiveX控制項涉及到用戶界面,否則盡量使用輕量的對象,例如類。這兩者之間的效率有很大差異。
15. 使用內部對象
在涉及到使用ActiveX控制項和DLL的時候,很多程序員喜歡將它們編譯好,然後再加入工程中。我建議你最好不要這樣做,因為從VB連接到一個外部對象需要耗費大量的CPU處理能力。每當你調用方法或存取屬性的時候,都會浪費大量的系統資源。如果你有ActiveX控制項或DLL的源代碼,將它們作為工程的私有對象。
16. 減少模塊的數量
有些人喜歡將通用的函數保存在模塊中,對於這一點我表示贊同。但是在一個模塊中只寫上二三十行代碼就有些可笑了。如果你不是非常需要模塊,盡量不要使用它。這樣做的原因是因為只有在模塊中的函數或變數被調用時,VB才將模塊載入到內存中;當VB應用程序退出時,才會從內存中卸載這些模塊。如果代碼中只有一個模塊,VB就只會進行一次載入操作,這樣代碼的效率就得到了提高;反之如果代碼中有多個模塊,VB會進行多次載入操作,代碼的效率會降低。
17. 使用對象數組
當設計用戶界面時,對於同樣類型的控制項,程序員應該盡量使用對象數組。你可以做一個實驗:在窗口上添加100個PictureBox,每個PictureBox都有不同的名稱,運行程序。然後創建一個新的工程,同樣在窗口上添加100個PictureBox,不過這一次使用對象數組,運行程序,你可以注意到兩個程序載入時間上的差別。
18. 使用Move方法
在改變對象的位置時,有些程序員喜歡使用Width,Height,Top和Left屬性。例如:
Image1.Width = 100
Image1.Height = 100
Image1.Top = 0
Image1.Left = 0
實際上這樣做效率很低,因為程序修改了四個屬性,而且每次修改之後,窗口都會被重繪。正確的做法是使用Move方法:
Image1.Move 0,0,100,100
19. 減少圖片的使用
圖片將佔用大量內存,而且處理圖片也需要佔用很多CPU資源。在軟體中,如果可能的話,可以考慮用背景色來替代圖片--當然這只是從技術人員的角度出發看這個問題。
20. 使用ActiveX DLL,而不是ActiveX控制項
如果你設計的ActiveX對象不涉及到用戶界面,使用ActiveX DLL。
編譯優化
我所見過的很多VB程序員從來沒有使用過編譯選項,也沒有試圖搞清楚各個選項之間的差別。下面讓我們來看一下各個選項的具體含義。
1. P-代碼(偽代碼)和本機代碼
你可以選擇將軟體編譯為P-代碼或是本機代碼。預設選項是本機代碼。那什麼是P-代碼和本機代碼呢?
P-代碼:當在VB中執行代碼時,VB首先是將代碼編譯為P-代碼,然後再解釋執行編譯好的P-代碼。在編譯環境下,使用這種代碼要比本機代碼快。選擇P-代碼後,編譯時VB將偽代碼放入一個EXE文件中。
本機代碼:本機代碼是VB6以後才推出的選項。當編譯為EXE文件後,本機代碼的執行速度比P-代碼快。選擇本機代碼後,編譯時VB使用機器指令生成EXE文件。
在使用本機代碼進行編譯時,我發現有時候會引入一些莫名其妙的錯誤。在編譯環境中我的代碼完全正確地被執行了,但是用本機代碼選項生成的EXE文件卻不能正確執行。通常這種情況是在卸載窗口或彈出列印窗口時發生的。我通過在代碼中加入DoEvent語句解決了這個問題。當然出現這種情況的幾率非常少,也許有些VB程序員從來沒有遇到過,但是它的確存在。
在本機代碼中還有幾個選項:
a) 代碼速度優化:該選項可以編譯出速度較快的執行文件,但執行文件比較大。推薦使用
b) 代碼大小優化:該選項可以編譯出比較小的執行文件,但是以犧牲速度為代價的,不推薦使用。
c) 無優化:該選項只是將P-代碼轉化為本機代碼,沒有做任何優化。在調試代碼時可以使用。
d) 針對Pentium Pro優化:雖然該項不是本機代碼中的預設選項,但是我通常會使用該選項。該選項編譯出的可執行程序在Pentium Pro和Pentium 2以上的機器上可以運行得更快,而在比較老的機器上要稍稍慢一些。考慮到現在用Pentium 2都是落伍,所以推薦大家使用該選項。
e) 產生符號化調試信息:該項在編譯過程中生成一些調試信息,使用戶可以利用Visual C++一類的工具來調試編譯好的代碼。使用該選項會生成一個.pdf文件,該文件記錄了可執行文件中的標志信息。當程序擁有API函數或DLL調用時,該選項還是比較有幫助的。
2. 高級優化
高級優化中的設置可以幫助你提高軟體的速度,但是有時候也會引入一些錯誤,因此我建議大家盡量小心地使用它們。如果在代碼中有比較大的循環體或者復雜的數學運算時,選中高級優化中的某些項會大幅度提升代碼的性能。如果你使用了高級優化功能,我建議你嚴格測試編譯好的文件。
a) 假定無別名:可以提高循環體中代碼的執行效率,但是在如果通過變數的引用改變變數值的情況下,例如調用一個方法,變數的引用作為方法的參數,在方法中改變了變數的值的話,就會引發錯誤。有可能只是返回的結果錯誤,也有可能是導致程序中斷運行的嚴重錯誤。
b) 取消數組綁定檢查、取消整數溢出檢查和取消浮點錯誤檢查:在程序運行時,如果通過這些檢查發現了錯誤,錯誤處理代碼會處理這些錯誤。但是如果取消了這些檢查,發生了錯誤程序就無法處理。只有當你確定你的代碼中不會出現上面的這些錯誤時,你才可以使用這些選項。它們將使軟體的性能得到很大的提升。
c) 允許不舍入的浮點操作:選擇該選項可以是編譯出來的程序更快地處理浮點操作。它唯一的缺點就是在比較兩個浮點數時可能會導致不正確的結果。
d) 取消Pentium FDIV安全檢查:該選項是針對一些老的Pentium晶元設置的,現在看來已經過時了。

② 如何在java代碼中實現運行其他java文件

1、新建一個java工程項目:右鍵Eclipse的PackageExplorer空白部分,點擊New,再點擊JavaProject,輸入工程名,點擊finish;
2、在新建的工程里新建一個類:右鍵工程,點擊New,再點擊Class,輸入類名,點擊finish;
3、把寫好的java文件的代碼復制到新建的類中;
4、右鍵新建的類文件,點擊RunAs,再點擊JavaApplication即可運行Java文件。
需要注意的是:java文件要成功運行,前提是要有主方法(main)的存在,沒有主方法沒辦法運行java程序。

③ 新建的文本文檔寫完代碼後打開後還是代碼怎麼運行。

TC,運行是ALT+F5,VS,運行是Crtl+F5。
不用的代碼軟體快捷運行不同,代碼(code)是程序員用開發工具所支持的語言寫出來的源文件,是一組由字元、符號或信號碼元以離散形式表示信息的明確的規則體系。

④ 語言代碼怎樣運行

那就直接用VC打開代碼(代碼文件後綴名必須是「**.c」(c#寫的)或「**.cpp」(c++寫的)),編譯連接後運行,試下是不是正常,如正常,則打開源代碼所在文件夾下的debug文件夾,裡面的「**.exe」便是,今後要玩直接點它就行!至於要把游戲換圖標加工甚麼的那就1言難盡,需要1定基礎。那就直接用VC打開代碼(代碼文件後綴名必須是「**.c」(c#寫的)或「**.cpp」(c++寫的)),編譯連接後運行,試下是不是正常,如正常,則打開源代碼所在文件夾下的debug文件夾,裡面的「**.exe」便是,今後要玩直接點它就行!至於要把游戲換圖標加工甚麼的那就1言難盡,需要1定基礎。

⑤ 打完代碼在文本文檔怎麼運行

將文件名後綴改成.java-輸入cmd-切換路徑-改成位元組碼文件-允許位元組碼文件。
1. 新建文檔,後綴名改成.java(注意文件名用英文的);2. 寫代碼;3. 打開命令提示符:快捷鍵,輸入cmd;4. 切換路徑:cd 文件所在的路徑;5. 將java程序編程成位元組碼文件(.class):javac 文件名.java;6. 允許位元組碼文件,得到結果:java 文件名(注意:運行的是.class文件)。

⑥ 代碼如何運行

好了,大概的說說代碼從書寫到執行要經過的過程吧: 現在有了個大概的認識了吧,下面繼續詳細介紹再個步驟的細節情況。1、將源代碼編譯成託管模塊 其中託管模塊的各個組成部分如下: 1)PE32或PE32+,標準的Windows PE文件頭,標識了文件類型。 2)CLR頭,包含使這個模塊成為一個託管模塊的信息,包含需求的CLR版本,一些flag,Main方法的元數據標記等。 3)元數據,每個模塊都包含元數據表,一是描述源代碼中定義的類型和成員,二是描述源代碼引用的類型和成員。 4)IL代碼,在運行是,CLR將IL編譯成本地CPU指令。 2、將託管模塊合並成程序集 程序集是一個模塊/資源文件的邏輯性分組,是重用、安全性以及版本控制的最小單元。以CLR中,相當於一個組件。 還是以圖說話合成程序集的過程吧,這樣更直觀。 3、載入公共語言運行時 生成的每個程序集可以是一個執行應用程序,也可以是一個DLL,但最終由CLR管理這些程序集中的代碼執行,所以就需要安裝.NET Framework. 4、執行程序集的代碼 IL是與CPU無關的機器語言,為了執行一個方法,首先必須把IL轉換成本地的CPU指令,這是CLR中JIT編譯器的工作了。下面介紹一個方法的首次執行流程吧。 然而第二次執行這個方法就不需要MSCorEE.dll了。 5、本地代碼生成:NGen.exe 然而NGen.exe的作用在於: 1)加快應用程序的啟動速度,因為代碼已編譯成本地代碼,運行時不需要再花時間編譯了。

⑦ 電腦怎麼用記事本寫Java程序並運行

1. 新建一個記事本,後綴名是  .java  ;然後在裡面寫一段java的代碼,如圖:

2.把寫好的java文件丟進D盤,就是第一步給出的那個class文件;
3. 打開dos界面 開始-〉運行-〉cmd-〉 這個是命令行模式,選擇D盤,如圖:

4.選擇D盤之後,在命令提示符中輸入「javac 文件名.java」,我的文件名為java,所以輸入javac java.java然後回車,等待編譯。這時候你就會發現它提示說javac不是內部文件。接下來就是java環境變數設置的問題了;
5.下載一個jdk執行默認安裝。例如我下的jdk版本是: jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe;
6.配置環境:右擊我的電腦點屬性,進去點高級就能看到環境變數。點進去就能設置你的系統變數了,如圖:

6-1。變數名:classpath    變數值:(.;C:\Program Files\Java\jdk1.6.0_10\lib;)括弧裡面都是 (主要我們在編譯運行程序的時候通過classpath可以幫助我們找到一些需要的系統類,「.」號是表示當前路徑;「;」號是用來隔開多個變數值,如果你的系統裡面已經有classpath環 境變數,就不用新建了,直接加「;」號,在後面加新值);如圖所示

⑧ C語言編寫好代碼後,怎麼編譯,最後生成可執行文件

材料/工具:vc6.0

1、打開c語言編輯工具,在工具中寫入程序的源代碼。

⑨ 記事本寫java代碼怎麼運行

你好,很高興回答你的問題。
首先,你需要安裝jdk並配置環境變數。
然後,在命令行中,用javac命令編譯你用記事本編寫的代碼。
下一步,在命令行中,用java命令執行編譯後的結果。

⑩ C語言代碼,怎麼運行。

1、創建一個文件名為main.c,然後用任意一個款你熟悉的文本編輯軟體,比如說記事本,在裡面輸入下面的代碼,記住,要用文本文件編輯軟體,不能用word的。
2、然後用gcc編譯程序:
gcc
./main.c
你會得到一個a.out文件。
3、運行a.out
(10)怎樣用代碼運行文件擴展閱讀:
c語言小游戲實現原理
1、二維數組實現棋盤
二維數組,用兩個for
循環,隨便輸出一個固定符號做棋盤,如
*
2、判定玩家
設計一個計步變數step,

每走一步
step++,
則玩家=step%2+1;
3、判定輸贏(重點)
設計方向數組
dircX[4]
,dircY[4],因為如果要判斷是否練成五子,只有1豎著2橫著3斜下4斜上
豎著的話就是
x-1,y不變

橫著的話就是x不變,y+1;

斜下:
x+1,y+1;
斜上
x-1;y+1
這樣你就可以賦值dircX={-1,0,1,-1}
dercY={0,1,1,1}
每當玩家落下一子,就全局判斷每個子的四個方向有沒有第二子,如果有,循環判斷有沒有第三子(利用
x+=dircX[1]),直到五子完成,結束。

熱點內容
馬路上汽車的噪音在多少分貝 發布:2023-08-31 22:08:23 瀏覽:2186
應孕棒多少錢一盒 發布:2023-08-31 22:08:21 瀏覽:1657
標准養老金一年能領多少錢 發布:2023-08-31 22:05:05 瀏覽:1954
湖北通城接網線多少錢一個月 發布:2023-08-31 21:59:51 瀏覽:2021
開隨車吊車多少錢一個月 發布:2023-08-31 21:55:06 瀏覽:1781
京東付尾款怎麼知道前多少名 發布:2023-08-31 21:52:58 瀏覽:2104
在學校租鋪面一個月要多少錢 發布:2023-08-31 21:52:09 瀏覽:2247
2寸有多少厘米 發布:2023-08-31 21:50:34 瀏覽:1885
知道電壓如何算一小時多少電 發布:2023-08-31 21:46:20 瀏覽:1892
金手鐲54號圈周長是多少厘米 發布:2023-08-31 21:44:28 瀏覽:2025