Exec
 
暂时将执行转移到外部程序

语法

Declare Function Exec ( ByRef program As Const String, ByRef arguments As Const String ) As Integer

用法

result = Exec( program , arguments )

参数

program
将程序(可执行)传输到的文件名(包括文件路径)。
arguments
要传递给程序的命令行参数。

返回值

程序的退出状态,如果程序无法执行,则为负(-1)。

说明

转移控制到外部程序。当程序退出时,在调用Exec之后立即恢复执行。

例子

'基于Windows的示例,但同样的想法适用于Linux
Const exename = "NoSuchProgram.exe"
Const cmdline = "ARG1参数3"
Dim result As Integer
result = Exec( exename, cmdline )
If result = -1 Then
    Print "运行错误"; exename
Else
    Print "退出代码:"; result
End If

平台差异

  • Linux要求program 案例与文件的真实名称相匹配。Windows和DOS不区分大小写。正在执行的程序可能对其命令行参数区分大小写。
  • Linux中的路径分隔符是斜杠/。Windows使用反斜杠\\,但它允许正斜杠。DOS使用向后的\\斜杠。
  • 退出代码在DOS中限制为8位。

方言差异

  • -lang qb 方言中不可用,除非使用别名__exec引用。

与QB差别

  • 新的FreeBASIC

参考

  • Chain 暂时迁移,没有参数
  • Run one-way transfer
  • Command 选择参数