#LANG
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgPplang
- 最后更新: 2021-09-12
用于设置编译器方言的预处理器语句。
语法
#lang "lang"参数
"lang"
要设置的方言,用双引号括起来,必须是 "fb"、"fblite"、"qb" 或 "deprecated" 之一。
说明
如果命令行中没有给出 -forcelang 选项,#lang 可用于为其所在的源模块设置方言。源模块最多进行两遍处理。在第一遍处理中,如果指定的方言不是默认方言(通过 -lang 选择,或默认为 "fb"),编译器将重置解析器进行另一遍处理,并从源模块开头重新开始编译。如果在第二遍处理中再次遇到该指令,且指定的方言与新的当前方言不匹配,则发出警告并继续编译。如果在第一遍处理中遇到错误,编译器将不尝试第二遍处理。
#lang 不能用于任何复合语句、作用域或子例程中。但它可以嵌套在模块级预处理器语句中,或在包含文件中使用。
目前对该指令在源模块中的放置位置没有限制。将来可能会改变,因此最佳实践是在源文件中第一个声明、定义或可执行语句之前使用该指令。
该指令会覆盖命令行中给出的 -lang 选项。但如果命令行中给出了 -forcelang 选项,该指令将无效。会发出警告,指令被忽略,编译继续。这允许用户显式覆盖 #lang 指令。
示例
start GeSHi
#lang "fblite"end GeSHi
与 QB 的区别
- FreeBASIC 新增
另请参阅
$lang__FB_LANG__- 编译器选项: -lang
- 编译器选项: -forcelang
- FreeBASIC 方言
#cmdline
返回 目录