导航:首页 > 源码编译 > vb6命令编译器绿色

vb6命令编译器绿色

发布时间:2023-03-06 01:34:48

‘壹’ vb6怎么在代码中执行编译命令

你说的有点像外*挂中间的脚本,可以让使用者自己编写一段代码,程序可以执行。

但是编译成exe就不现实了,只要能执行脚本不就行了吗?

VB语言可以实现这一功能,VB利用Microsoft Script Control对象可以动态执行(即无需事先编译成EXE)VBS指令,代码如下:

窗体放一个多行文本框和一个按钮。

PrivateSubCommand1_Click()
DimScriptControlAsObject,Psw$
SetScriptControl=CreateObject("MSScriptControl.ScriptControl")
ScriptControl.Language="VBScript"
ScriptControl.Timeout=-1
ScriptControl.AddCodeText1.Text
Psw=ScriptControl.Run("encodePwd")
MsgBoxPsw
EndSub

PrivateSubForm_Load()
Text1.Text="FunctionencodePwd()"&vbCrLf&_
"encodePwd=""这是返回字符串"""&vbCrLf&_
"EndFunction"
EndSub

‘贰’ 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程序

先用cd命令转到vb6.0的安装目录,然后输入vb6/makevbp文件全路径(/make可简写为/m,如果文件名含空格,文件名要加引号)就编译成exe,exe文件默认与vbp文件同目录同名(扩展名不同),如果要修改编译生成的默认exe文件名,先用记事本打开vbp文件,加一行(不能加在[MSTransactionServer]这行的后面)ExeName32=新名称.exe再编译。

‘肆’ VB6自带编译器的“本机代码”和“P代码”各是什么求答案

该选项卡设置工程编译时的条件。选项卡选项“编译为 P-代码”
用 p 代码来编译工程。存储在 .vbp 文件中的设置值将被覆盖掉。
“编译为本机代码”
用带有选定最优化的原码来编译工程。存储在 .vbp 文件中的设置值将被覆盖掉。
“快速代码优化”- 通过指示编译器在速度和大小之间首选速度,使 .exe 和 .dll 文件的速度最快。编译器可以减少许多功能上跟机器码序列相同的构造。在某些情况下,这种不同提供了用大小来换取速度的权衡交换。
“小代码优化”- 通过指示编译器在速度和大小之间首选大小,来使 .exe 和 .dll 文件最小。编译器可以减少许多功能上跟机器码序列相同的构造。如果不选中这个选项,代码可能就会大一些,但是速度会更快一些。
“非优化”- 无优化地编译。
“流行的 Pentium Pro™”- 优化所创建的代码,优化方向是使之更有利于 Pentium Pro™ 处理器来处理。如果在程序中使用了这个选项,则意味着仅仅是为 Pentium Pro™ 处理器所创建的代码。用此选项产生的代码仍然可以在更早期的处理器上运行,但是工作起来性能不是那么好。
“创建符号化调试信息”- 在可执行文件或者 DLL 文件中产生符号调试信息。用此选项创建的可执行文件可以用 Visual C++ 或者具有 CodeView 风格调试信息的调试器来调试。设置这个选项将为可执行文件产生一个带有符号信息的 .pdb 文件。
“高级优化”
显示“高级优化”对话框。
给程序设置一个基地址,从而覆盖 .dll 文件的缺省位置(在 0 X 10,000,000 处)。操作系统首先试图在指定的或者缺省的位置加载一个程序。如果没有足够空间,那么系统将重新定位该程序。

‘伍’ VB程序用什么编译

可以编译Visual Basic程序的开发工具版本有很多的,毕竟操作系统从Dos时代开始就有了VB1.0版本了,之前DOS下还有QBasic等。因为你并未说明你的代码是怎样的,只好给你多介绍几个了。

Quick Basic又叫QBasic和QB,是可以编译成能在DOS环境中运行的程序。
QB没有图形化界面也不支持面向对象开发的“.”点语法,但它支持Basic语言早期的行号写法,也支持基于结构的函数和过程。
早期写法
10 Dim i
20 For i=0 To 100
30 Print i
40 Next
当你发现语句前有行号,则需要用QBasic来编译。另外还有GWBasic等

Visual Basic又叫VB,1.0版本是DOS下运行的可视化编程工具,具体没用过但肯定支持标准Basic语法。我是从VB3.0接触VB的,之后一直到VB6时觉得虽然工具和编译环境改变了,但实际用法差不多。
基于VB3-VB6来编译,你的代码必须符合以事件触发执行的VB代码规范。在VB中代码是可以非线性运行的,这与过去有很大不同。如果的代码没有符合这种规范是需要修改后才能编译运行的。好在是VB6有编译类错误提示。

VB.Net家族就比较大了,从VB7一直到现在的VB2010都是一个家族的。这时的VB已经功能十分强大,代码写法也已经完全基于Class类,并具有完整的面向对象的支持。但有意思的是在VB.Net里支持无窗体界面命令面板的程序,因此QBasic类型的程序只要稍加修改便能编译运行在VB.Net这种环境里。当然对WinFrom也更强大,并且支持多线程等。
因此强烈建议你换到vb.net来编译,但需要注意的是有些关键字起了变化。比如VB6里的Long是VB.NET里的Integer。

说的这么详细相信你应该了解VB程序的编译工具了

阅读全文

与vb6命令编译器绿色相关的资料

热点内容
程序员可以干什么 浏览:70
绩效考核权重分配算法 浏览:524
android应用logo 浏览:898
光遇安卓服墓土商店什么时候开 浏览:566
月收益翻倍的源码 浏览:637
asop源码放在哪里 浏览:989
电脑服务器密码怎么找 浏览:574
jdp转换pdf 浏览:749
把pdf导入iphone 浏览:508
米哈游租赁的云服务器是哪个 浏览:524
android直接打电话 浏览:1016
ubuntu停止命令 浏览:283
cnc攻丝编程 浏览:869
换个手机号码app怎么注册 浏览:320
怎么下载小猴口算app 浏览:115
轻链app的货怎么样 浏览:625
电脑里的u盘如何加密 浏览:371
我的世界全部版本服务器下载地址 浏览:50
交换原理pdf 浏览:230
菜鸟驿站app怎么邀请新人 浏览:449