XSharp(X#)的编译器选项(四)
All instance methods virtual(虚拟所有实例化方法)
编译器选项:vo3
解释:默认情况下在所有方法(包括 ACCESS 和 ASSIGN 方法)中添加虚(VIRTUAL)修饰符。
在 Visual FoxPro 方言中,官方的建议是选择。
Allow Init() and Axit() as aliases for Constructor/Destructor(允许将 Init() 和 Axit() 作为 Constructor/Destructor 的别名)
编译器选项:vo1
解释:这个一个兼容 VO 方言的编译器选项。
Compatible IIF Behavior(兼容 IIF 行为)
编译器选项:vo10
解释:该选项使IIF运算符的运行方式与 VO 方言的对象兼容。
Compatible preprocessor(兼容预处理器)
编译器选项:vo8
解释:这个一个兼容 VO 方言的编译器选项。
Handle problems with incorrect or missing return statements(处理不正确或缺少 return 语句的问题)
编译器选项:vo9
解释:允许缺少 Return 语句,或允许 Return 语句带有不正确的返回值。
当函数或方法没有任何 RETURN 语句时,-vo9 选项可防止编译器引发错误 XS0161。它还能解决返回值不正确的问题。
在 Visual FoxPro 方言中,官方的建议是选择。
Implicit numeric conversions(隐式数值转换)
编译器选项:vo4
解释:指示编译器将数字类型从较大类型隐式转换为较小类型,同时也从分数类型转换为整数类型。
Initialize strings(初始化字符串)
编译器选项:vo2
解释:将字符串初始化为空字符串(String.Empty)。
请注意,在 .NET 中,NULL_STRING 与长度为 0 的字符串不同。 启用后,无论 Language 页面中的 "Initialize Local variables"(初始化局部变量 )设置如何,都将初始化本地字符串变量。
在 Visual FoxPro 方言中,官方的建议是选择。
Compatible Array Handling(兼容数组处理)
编译器选项:fox2
解释:兼容 FoxPro 的数组处理(允许使用括号数组和为数组赋值以填充所有元素)。
警告:允许使用括号数组可能会减慢程序的执行速度 !
在 Visual FoxPro 方言中,官方的建议是选择。
-----------------------------------
Q:为什么在 Visual FoxPro 方言中需要使用一些看上去似乎是针对 VO 方言的编译器选项?
A:X# 开发组的前东家所开发的语言就是 VO。并且,最初的 X# 也仅仅是考虑对 VO 的兼容。随着开始兼容 Visual FoxPro,发现其中的一些选项也适用于 Visual FoxPro 方言,因此,只是在官方或者非官方的资料中说明它们也适用于 Visual FoxPro 方言,并没有更改编译器选项的名称。
以上仅仅是作者的猜测,官方并没有就此问题有任何官方或者非官方的说明。
-------------------------------------
未完待续......
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2025-03-22,如有侵权请联系 cloudcommunity@tencent 删除开发数组字符串编译器程序
发布评论