Show/Hide Toolbars

XSharp

Navigation: X# 文档 > X# 编译器选项

按类别划分的 X# 编译器选项

Scroll Prev Top Next More

 

以下编译器选项按类别排序。有关按字母顺序排列的列表,请参见 :按字母顺序排序的 X# 编译器选项

方言支持

选项

用途

-dialect

指定编译时使用的方言。支持以下值 Core、VO、Vulcan、dBase、FoxPro、Xbase++ 和 Harbour。有关 VO 和 Vulcan 方言的工作已经开始。

XBase 兼容性

选项

用途

-allowdot

允许使用 DOT (.) 字符作为示例成员的运算符

-allowoldstyleassignments

允许使用单个等号运算符 (=) 进行赋值

-az

指定数组以 0 为单位,而不是以 1 为单位

-cs

指定编译器使用区分大小写的类型名

-d

指示编译器发出调试信息。( /debug 的简称)

-enforceoverride

强制子类使用 OVERRIDE 关键字覆盖父类的方法

-enforceself

强制使用 SELF: 访问类内的字段、属性和方法

-fovf

指定在无效浮点运算时引发异常

-fox1

已弃用

-fox2

兼容 FoxPro Array 支持

-i

指定要添加到 #include 文件搜索路径中的目录

-initlocals

初始化所有局域变量

-ins

使用隐式命名空间查找机制

-lb

指定编译器在必要时生成后期绑定调用

-memvar

启用对内存变量的支持

-modernsyntax

禁用某些传统编译器选项

-namedargs

指定是否允许在解析器中使用命名参数。

-noinit

禁止生成空的 $Init1() 和 $Exit() 函数

-norun

X# 中过时的编译器选项,继承自 Vulcan。要做到这一点,只需移除对运行时 DLL 的引用,然后用 Core 方言编译即可

-nostddefs

禁止 XSharpDefs.xh 中的预处理器定义

-ns

指定输出程序集的默认命名空间

-ovf

指定在整数溢出时引发异常

-showincludes

在编译器输出中列出 #include 文件

-snk

用强名称密钥对签署程序集

-undeclared

启用对未声明变量的支持

-vo1

使用 Init 和 Axit 方法代替构造函数和析构函数

-vo2

将 STRING 变量、字段和 DIM 数组初始化为空字符串

-vo3

将所有方法视为虚方法

-vo4

允许有符号/无符号整数的隐式转换

-vo5

零参数函数的隐式 CLIPPER 调用约定

-vo6

将类型化函数指针转换为 PTR

-vo7

允许兼容的隐式转换

-vo8

启动兼容的预处理器行为

-vo9

允许缺少 RETURN 语句

-vo10

启用兼容的 IIF 行为

-vo11

实现与 Visual Objects 兼容的算术转换

-vo12

启用与 Clipper 兼容的整数除法

-vo13

启用与 Visual Objects 兼容的字符串比较功能

-vo14

以 FLOAT 格式插入浮点字面量

-vo15

允许未类型化的局部(变量)和返回类型

-vo16

为没有构造函数的类自动生成 Clipper 调用约定构造函数

-w

不支持该选项,请使用 -NoWarn 代替。

-wx

将所有警告视为错误(-warnaserror 的别名)

-xpp1

所有类都继承自抽象类

优化

选项

用途

-filealign

指定输出文件各部分的大小。

-optimize

启用/禁用优化功能。

输出文件

选项

用途

-doc

指定一个 XML 文件,用于写入处理过的文档注释。

-modulename

指定源模块的名称

-out

指定输出文件。

-pathmap

指定编译器输出的源路径名映射。

-pdb

指定 .pdb 文件的文件名和位置。

-platform

指定输出平台。

-preferreduilang

指定编译器输出语言。

-target

使用五个选项之一指定输出文件的格式: /target:appcontainerexe、/target:exe、/target:library、/target:module、/target:winexe 或 /target:winmdobj。

-touchedfiles

指定文件名,该文件名将更新编译器读取和写入的文件列表

.NET 程序集

选项

用途

-analyzer

运行该程序集的分析器(简写:/a)

-additionalfile

命名不直接影响代码生成,但可能被分析程序用于生成错误或警告的附加文件。

-addmodule

指定一个或多个模块作为该程序集的一部分。

-delaysign

指示编译器添加公钥,但不对程序集签名。

-keycontainer

指定加密密钥容器的名称。

-keyfile

指定包含加密密钥的文件名。

-lib

指定通过 /reference 引用的程序集的位置。

-nostdlib

指示编译器不要导入标准库 (mscorlib.dll)。

-reference

从包含程序集的文件中导入元数据。

调试/错误检查

选项

用途

-ast

转存每个源文件的抽象语法树(扩展名为.ast)

-checked

指定溢出数据类型边界的整数运算是否会在运行时导致异常。

-debug

指示编译器发出调试信息。

-errorendlocation

输出每个错误结束位置的行和列

-errorreport

设置错误报告行为。

-fullpaths

指定编译器输出文件的绝对路径。

-lexonly

告诉编译器只读取源代码。

-nowarn

禁止编译器生成指定的警告。

-parseonly

该编译器选项告诉编译器对代码进行 Lex 和解析。

-ruleset

指定可禁用特定诊断的规则集文件。

-warn

设置警告级别。

-warnaserror

将警告升级为错误。

-wx

这是 -warnaserror 选项的别名。

预处理器

选项

用途

-define

定义预处理器符号。

-i

指定要添加到 #include 文件搜索路径中的目录

-ppo

将预处理器输出写入文件

-nostddef

禁止 XSharpDefs.xh 中的预处理器定义

-showdefs

显示从头文件中添加的定义及其用法

-showincludes

在编译器输出中列出 #include 文件

-verbose

在控制台上显示包含、源文件名、定义等信息。

资源

选项

用途

-link

将指定程序集中的 COM 类型信息提供给项目。

-linkresource

创建指向托管资源的链接。

-resource

将 .NET Framework 资源嵌入输出文件。

-usenativeversion

优先选择本地资源(如果有),而不是托管程序集属性生成的资源

-win32icon

指定要插入到输出文件中的 .ico 文件。

-win32res

指定要插入输出文件的 Win32 资源。

杂项

选项

用途

@

指定响应文件。

-?

向 stdout 列出编译器选项。

-appconfig

指定包含程序集绑定设置的应用程序配置文件

-baseaddress

指定加载 DLL 的首选基地址。

-checksumalgorithm

指定计算 PDB 中存储的源文件校验和的算法。支持的值有 SHA1(默认)或 SHA256。

-codepage

为编译中的所有源代码文件指定代码页。

-help

向 stdout 列出编译器选项。

-highentropyva

指定可执行文件支持地址空间布局随机化 (ASLR)。

-langversion

指定语言版本模式:Core、VO、Vulcan、Harbour、FoxPro、dBase

-main

指定 Main 方法的位置。

-noconfig

指示编译器不要使用 xsc.rsp 进行编译。

-nologo

禁用编译器横幅信息。

-parallel

指定是否使用并发生成 (+)。

-recurse

搜索子目录,查找要编译的源文件。

-s

仅语法检查

-shared

使用共享编译器

-subsystemversion

指定可执行文件可以使用的最小子系统版本。

-unsafe

允许编译使用不安全关键字的代码。

-utf8output

使用 UTF-8 编码显示编译器输出。

-win32manifest

指定要嵌入可执行文件的用户定义 Win32 应用程序清单文件。