$Lang
 
编译器语句语句设置编译方法。

语法

'$lang: "lang "
or
Rem $lang: "lang "

参数

"lang "
要设置的方言,用双引号括起来,必须是"fb""fblite""qb""deprecated"之一。

说明

如果在命令行上未指定-forcelang 选项,则可以使用$Lang为其显示的源模块设置方言。源模块将最多两次通过。在第一遍,如果指定的方言是默认方言(默认选择为-lang "fb")之外的任何其他方式,则编译器将重置解析器以进行另一遍,并在源模块的开始重新启动编译。如果在第二遍再次遇到这个编译器语句,并且指定的方言与新的当前方言不匹配,则会发出警告并继续编译。如果在第一遍遇到任何错误,编译器将不会尝试第二遍。

$Lang不得在任何复合语句,范围或子例程中使用。但是,它可能嵌套在模块级预处理器语句中或在包含文件中使用。

目前,该指令可能放在源模块中的位置目前没有限制。将来这可能会改变,因此最佳做法是在源代码中的第一个声明,定义或可执行语句之前使用该指令。

如果在命令行中给出了该指令,则会覆盖-lang 选项。但是,如果在命令行中给出了-forcelang 选项,则该指令将不起作用。发出警告,该指令被忽略,汇编将继续。这允许用户显式地覆盖$Lang元指令。

这个编译器语句是在FreeBASIC版本0.20.0中引入的。较早版本的FB和QuickBASIC将会将其视为注释,并将其忽略。

例子

'$lang:“qb”


与QB差别

  • 新的FreeBASIC
  • QB处理 '$lang:作为普通注释

参考