$LANG
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgMetaLang
- 最后更新: 2017-11-21
用于设置编译器方言的元命令语句。
语法
'$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:作为普通注释处理
参见
#lang__FB_LANG__- 编译器选项: -lang
- 编译器选项: -forcelang
- FreeBASIC 方言
返回 目录