#lang
 
预处理器语句设置编译器方言。

语法

#lang "lang "

参数

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

说明

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

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

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

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

例子

#lang "fblite"


与QB差别

  • 新的FreeBASIC

参考