Skip to content

#LANG


用于设置编译器方言的预处理器语句。

语法

#lang "lang"

参数

"lang"

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

说明

如果命令行中没有给出 -forcelang 选项,#lang 可用于为其所在的源模块设置方言。源模块最多进行两遍处理。在第一遍处理中,如果指定的方言不是默认方言(通过 -lang 选择,或默认为 "fb"),编译器将重置解析器进行另一遍处理,并从源模块开头重新开始编译。如果在第二遍处理中再次遇到该指令,且指定的方言与新的当前方言不匹配,则发出警告并继续编译。如果在第一遍处理中遇到错误,编译器将不尝试第二遍处理。

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

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

该指令会覆盖命令行中给出的 -lang 选项。但如果命令行中给出了 -forcelang 选项,该指令将无效。会发出警告,指令被忽略,编译继续。这允许用户显式覆盖 #lang 指令。

示例

start GeSHi

#lang "fblite"

end GeSHi

与 QB 的区别

  • FreeBASIC 新增

另请参阅

返回 目录

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