Skip to content

$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 会将其视为注释并静默忽略。

示例

start GeSHi

'$lang: "qb"

end GeSHi

与 QB 的差异

  • FreeBASIC 新增功能
  • QB 将 '$lang: 作为普通注释处理

参见

返回 目录

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系