vb編譯器存儲多大
⑴ 現在最好用的VB編譯器是什麼
VB是編譯器不是語言,是微軟的一個編譯器,VB只有一個,當然版本越高當然越好。VS2010(Microsoft Visual Studio )出了,去下VS2010吧。VB包含在vs裡面。
⑵ VB6.0的LINK.EXE編譯器就可以編譯64位DLL嗎有沒有視頻或工程
vb6 是無法將其源碼編譯成64位 基於現在系統都是向下兼容 vb6編譯的32位文件完全可以在64位操作系統上使用 如果非64位不可 只能使用vb.net
⑶ vb怎麼做個vb編譯器
如果你要自己做程序編譯的話很難,就算調用c2.exe和link.exe也沒用,因為VB
在調用之前已經在臨時目錄下生成了一堆看不懂的東西。
但你可以調用VB主程序的命令行來生成程序,如你要生成的程序在D盤根目錄,工程文件為
1.vbp那你可以在CMD里打VB6.exe /make D:\1.vbp
具體的可以參照VB6.exe /?
附:
VB的編譯過程大致如下,當我們在編輯環境中編寫完代碼後,VB調用C2將所有的模塊(包括CLASS)編譯成OBJ文件(能夠為機器語言識別的代碼)。一下是C2的一些編譯參數說明(E文):
- the the name of the prefixed one used for the names of the rowscontaining ' precompilato', one
risen of intermediate tails (from which name of the switch) temporary; these rows are 5 and finish withi suffissi GL, SY, FORMER, IN and DB; they contained are not documented
- f the name of the rows to compile
- W3 warning level 3, level of ' attenzione' dedicating to i warnings
- Gy it qualifies the connection to level of function (function-level linking)
- G5 optimization for the Pentium
- Gs4096 it allows not to insert the code for the control of stack (stack probe) if a function does not
use more than 4096 byte of stack
- dos not documented
- Z1 it removes the name of the bookcase of default from the rows.OBJ
- Fofileobj the name of rows OBJ to generate (rows output)
- Qifdiv it puts in action the corrections for the bug of the division of the Pentium (FDIV bug)
- MILILITER it creates rows eseguibile single-threaded
- basic it indicates the compiler C2 the fact that the compilation it happens for a plan basic
C2完成編譯後,VB會調用LINK.EXE將所有的OBJ文件連接成EXE文件,完成編譯過程。下面是一段命令行演示如何調用LINK.EXE:
LINK C:\Test\Form1.obj C:\Test\Molo1.obj C:\Test\Progetto1.obj C:\Programmi\Microsoft Visual Studio\VB98\VBAEXE6.lib /ENTRY:__ vbaS /OUT:C:\Test\Progetto1.exe /BASE:0x400000 /SUBSYSTEM:WINDOWS, 4.0 /VERSION:1.0 /DEBUG /DEBUGTYPE:CV /INCREMENTAL:NOT /OPT:REF/MERGE:.rdata =.text /IGNORE:4078
對於我們來說這些參數沒有什麼意義,用默認的就行了。這段命令行中並沒有包括輸出函數,如果我們希望輸出函數,可以定義一個.def文件,按照格式加入要輸出的函數列表,然後在命令行後面加上 「/DEF: 文件名」(當然也可以直接加/ EXPORTS參數),再調用命令行編譯,用的denpendency工具查看你就會發現你要輸出的函數了。
Def文件格式的定義:
LIBRARY 程序名稱
DESCRIPTION "MyDLL - (C) Antonio Giuliana, 2004"
EXPORTS
函數名= ?函數名@函數所在模塊名@@AAGXXZ
…
例:
LIBRARY MyDLL
DESCRIPTION "MyDLL - (C) Antonio Giuliana, 2004"
EXPORTS
DllRegisterServer= ?DllRegisterServer@SymExp@@AAGXXZ
DllUnregisterServer= ?DllUnregisterServer@SymExp@@AAGXXZ
注意:函數名和模塊名是區分大小寫的
我先用Vb編一個截取C2、LINK命令的程序:
C2:
Private Sub Form_Load()
f = UCase$(Left$(Command$, 256))
Open "E:\C2.txt" For Output As #1
Print #1, f
Close
End
End Sub
LINK:
Private Sub Form_Load()
f = UCase$(Left$(Command$, 256))
Open "E:\C2.txt" For Output As #1
Print #1, f
Close
End
End Sub
生成EXE後把VB98下的c2與LINK剪切到別處,在用這兩個程序代替。運行VB6.exe,隨意打開一個工程,點文件菜單,生成EXE。
不久我編的兩個程序就送給我夢寐以求的文件:
E:\C2.txt
-IL "C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\VB381884" -F "E:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VB98\新建文件夾 (2)\FORM1.FRM" -W 3 -GY -G5 -GS4096 -DOS -ZL -FO"E:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\FORM1.OBJ" -QIFDIV -ML -BASIC
E:\LINK.txt
"E:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\FORM1.OBJ" "E:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\LINK.OBJ" "E:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VB98\VBAEXE6.LIB" /ENTRY:__VBAS /OUT:"E:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\LINK.EXE" /BASE:0X400000 /SUBS
這兩個TXT就是VB送給c2以及LINK的命令。
詳細解讀如下:
C2.txt
-IL "C:\DOCUME~1\ADMINI~1\LOCALS~1\TEMP\VB381884" -F "E:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VB98\新建文件夾 (2)\FORM1.FRM"是c2准備處理的兩個文件。 -W 3 -GY -G5 -GS4096 -DOS -ZL是c2生成OBJ的格式,後邊則是OBJ文件的地址。
LINK.txt
"E:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\FORM1.OBJ" "E:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\LINK.OBJ"是源文件。"E:\PROGRAM FILES\MICROSOFT VISUAL STUDIO\VB98\VBAEXE6.LIB"是轉換庫。後面是EXE文件地址及格式
⑷ vb與c語言的區別
vb與C語言的區別如下所示:
1、C語言是一門通用計算機編程語言,廣泛應用於底層開發,C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
2、VB是Microsoft公司開發的一種通用的基於對象的程序設計語言,為結構化的、模塊化的、面向對象的、包含協助開發環境的事件驅動為機制的可視化程序設計語言,是一種可用於微軟自家產品開發的語言。
3、VB和C語言都是程序開發中的一種語言,c語言不支持可視化編程,vb支持可視化編程。
4、VB和C語言均可完成任何一種開發需求;對於界面製作,c語言會變得很繁瑣,vb則相對簡單快捷;vb語言的語法要求不嚴格,可不先聲明變數,c語言必須先聲明後使用。
5、vb是一種事件驅動的程序結構,c語言的程序必須從一個main函數開始。
6、C語言它更高效,並且在嵌入式linux環境下支持更好,它的語言主要是以描述功能為主,而VB由於它更接近於腳本的同時是面向對象的語言。
7、c語言支持指針,而vb不支持;c語言入門相對較難,vb則很容易入門,但後續的深入學習c語言會變得相對容易。