Skip to content

注释


注释是编译器将忽略的文本区域,但可能包含对程序员有用的信息。一个例外是元命令,它可能出现在某些类型的注释中。

单行注释

单引号字符(')可用于表示注释,并可出现在源代码行中其他关键字之后。语句的其余部分将被视为注释。

start GeSHi

' comment text

end GeSHi

注释语句:Rem

Rem 开头的源代码语句表示该行是注释,不会被编译。在 FreeBASIC 中,Rem 也可以出现在源代码行中其他关键字之后,行为与上面相同(只有语句的其余部分将被视为注释)。

start GeSHi

Rem comment

end GeSHi

多行注释

多行注释用标记 /''/ 标记。两个标记之间的所有文本都被视为注释文本,不会被编译。

多行注释可以跨越多行,也可以在语句中间使用。注释结束后,语句将继续正常解析(即使注释跨越了换行符)。

start GeSHi

vb
/' Multi-line
   comment '/

Print "Hello" /' embedded comment'/ " world"

end GeSHi

注意:如果 FreeBASIC 在不处于多行注释中时遇到注释关闭标记,由于单引号的存在,它会将其视为普通单行注释。

嵌套注释

多行注释内部可以包含其他多行注释。每个内部注释都有自己的开始和结束注释标记。

start GeSHi

/'
    This Is a comment.
    /'
     This Is a comment inside a comment
    '/
    This Is a comment.
'/

end GeSHi

多行注释可以包含无限层级的嵌套注释。FreeBASIC 将继续解析多行注释以查找更多标记,直到关闭注释标记的数量达到开启注释标记的数量,即当它关闭了所有已开启的注释时为止。

行续接后的注释

单行注释可以出现在多行语句中行续接字符(_)之后。但 FreeBASIC 不解析行续接字符之后的文本,因此不能在其后开启多行注释。

start GeSHi

vb
Print _ ' line
    "This is part of the previous line's statement"

end GeSHi

元命令

元命令(如 $static$include)可以放在单行注释中。$ 符号和关键字必须是语句中最前面的两个内容,不含空白字符。

start GeSHi

Rem compile With -lang fblite Or qb

#lang "fblite"

Rem $Static
' $include: 'vbcompat.bi'

end GeSHi

单行注释解析

当创建单行注释时,FreeBASIC 将解析该注释以检查元命令。如果找到多行注释,将按常规处理,并在关闭注释标记之后继续解析单行注释。

如果要防止 FreeBASIC 解析单行注释,请在注释开头添加另一个单引号(')。FreeBASIC 将把行的其余部分(包括多行注释标记和元命令)视为普通文本并忽略它。注释中遇到的其他词语也会停止解析。

  • 注意:从 0.21.0 版本起,这在-lang fb方言中将不再适用,多行注释标记将在单行注释中被完全忽略

start GeSHi

vb
'' $static <-- will not get parsed
'' this multiline comment marker ("/'") will be ignored
Print "This line is not a comment."

end GeSHi

示例

start GeSHi

vb
/' this is a multi line
comment As a header of
This example '/

Rem This Is a Single Line comment

'this is a single line comment

Dim a As Integer   'comment following a statement

Dim b As /' can comment in here also '/    Integer

#if 0
    before version 0.16, This was the
    only way of commenting Out sections
    With multiple lines of code.
#endif

end GeSHi

参见

  • Rem

返回 目录

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