问题标签 [flags]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2003 浏览

visual-c++ - 您推荐哪些标志用于 MSVC 项目中的发布配置

我正在审查我们的 MSVC 项目的标志,但我无法获得有关以下功能的足够文档:

  • 使用链接时间码生成 (/ltcg)
  • 启用功能级链接 (/Gy)
  • 消除未引用的数据 (/OPT:REF)
  • 删除冗余 COMDAT (/OPT:ICF)
  • 优化 windows98 否 (/OPT:NOWIN98)
  • 启用字符串池 (/GF)

我们确实使用单独的调试/发布版本,所以我主要对发布标志感兴趣。非常欢迎对这些标志以及它们如何相互关联以及您在自己的项目中使用的标志进行解释!

0 投票
7 回答
11141 浏览

php - PHP 中位标志的最佳实践

我正在用 PHP + MySQL 编写一个小型应用程序,并且已经到了有一个对象有几个(到目前为止是 8 个,但预计不会增加)与之关联的标志的地步。这些标志几乎没有关系,尽管有些组合没有意义。该对象代表数据库中的一行(也有一些保存/加载它的方法),所以这个问题也适用于选择存储方法。

问题是 -如何在代码和数据库中最好地表示它们?我可以想到几种方法:

将它们存储在 DB 中的一种方法是在单个整数字段中作为按位标志。在 PHP 方面,我可以想象几种表示它们的方式:

  • 只需导出整数值并定义几个标志常量;让每个需要标志的地方都发挥自己的按位魔法;
  • 定义类方法GetFlag()SetFlag()并对UnsetFlag()私有整数变量执行按位魔术;然后将这些方法作为参数传递给标志常量之一。
  • 定义方法GetFlagA()GetFlagB()(以及 Set 和 Unset 对应项);
  • 定义一堆成员变量,每个变量代表一个标志;将它们设置为从数据库加载并在保存时收集它们。
  • 创建一个成员变量,它是所有标志值的数组。使用预定义的常量作为数组索引来访问每个标志。还在加载/保存时填充/收集数组。

另一种方法是将它们作为单独的 BIT 字段存储在数据库中。在 PHP 中,这将转换为几个成员变量。恕我直言,这会使查询复杂化。

最后一种方法是为所有标志定义另一个表,并为标志和原始对象之间的多对多关系定义一个中间表。恕我直言,所有解​​决方案中最混乱的,考虑到否则只有 3 张桌子。

我没有做过太多的 PHP 开发,所以我不知道最佳实践是什么。在 C# 中,我可能会将它们存储为按位标志,并创建对私有整数执行按位魔术的属性。但是 PHP 没有属性(我使用的是最新的稳定版本)...

0 投票
2 回答
6135 浏览

batch-file - 设置 cmd.exe /V:ON 标志而不启动新实例

cmd /V:ON有没有办法在不启动 cmd.exe 的新实例的情况下为 cmd.exe 启用执行时变量扩展(通常通过键入来完成)?

同样,是否可以即时更改其他设置/标志?

0 投票
4 回答
3800 浏览

c# - 带有 Web 服务的标志

我有一个位于 Web 服务后面的标志属性枚举,如下所示:

我的问题是我的 Web 服务的使用者没有枚举的原始常量值。生成的代理类客户端具有相当于此的内容:

因此,当消费者检查“读取”访问权限时,即使“testItem”为“完整”,这也是错误的

如何通过 Web 服务正确提供标志?

编辑:

根据这篇文章,可能无法做我想做的事情。伊万·克里维亚科夫说

枚举的不完全透明度

事实证明,枚举并不像我们希望的那样透明。存在三个棘手的问题:

  1. 如果服务器端代码声明一个枚举并为其成员分配特定的数值,则这些值对客户端将不可见。
  2. 如果服务器端代码声明了一个带有“复合”掩码值的 [Flags] 枚举(如 White = Red|Green|Blue),则它不会正确反映在客户端。
  3. 如果服务器或客户端传输超出枚举范围的“非法”值,则会在另一端的 XML 反序列化器中引发异常。

所以我想知道这是否只是一个限制,是不可能的。

0 投票
3 回答
5685 浏览

c# - 枚举作为标志的使用、设置和移位

我有两个标志:

我这样设置它们:

然后像这样使用它们:

主要保留:可以设置两个标志。或者只是一个,在这种情况下,只执行一部分代码。

我的代码好吗?设置标志的最佳方法是什么?

Upd : 是不是先不那么丑了,你怎么看?

0 投票
3 回答
6735 浏览

c# - 使用 RegisterHotKey api 调用时,为什么它接受 1、2、4 和 8 作为修饰符?

我参考这篇文章;

http://www.pinvoke.net/default.aspx/user32/RegisterHotKey.html

我的问题是,api如何RegisterHotKey知道 , 1, 2,48Windows 键?因为 ctrl、shift 和 menu (alt) 的键码会返回完全不同的键值?RegisterHotKey以及它正在检查的函数中到底发生了什么:

它在这里做什么?

0 投票
3 回答
626 浏览

linux - 如何将 linux 链接器中的 -lXi 标志转换为适当的库?

如何找出上述标志所指的库是什么?我将如何为其他人做呢?

0 投票
4 回答
1819 浏览

assembly - 关于汇编条件码寄存器

假设我们使用addl 指令执行 C 表达式 "t=a+b" 的等价,其中 a,b,t 是 int类型的变量,那么条件代码将根据以下 C 表达式设置:

CF: (unsigned t) < (unsigned a) 无符号溢出

ZF: (t==0) 零

SF: (t<0) 负

OF: (a<0 == b<0) && (t<0 != a<0) 有符号溢出

引用自计算机系统教科书。

  • CF 是进位标志。
  • ZF 是零标志。
  • SF 是标志标志。
  • OF 是溢出标志。

我不明白为什么这些 C 表达式有上面提到的效果。例如,为什么表达式 (t<0) 会设置 SF 标志?t<0 为真或假(因为教科书只告诉了这些变量的类型),但是为什么设置了标志标志?我真的很困惑,请帮助..谢谢!

0 投票
6 回答
39197 浏览

assembly - 关于汇编 CF(Carry) 和 OF(Overflow) 标志

众所周知,CF 表示无符号进位,OF 表示有符号溢出。那么汇编程序如何区分无符号和有符号数据,因为它只是一个位序列?(通过类型信息的额外内存存储,或通过位置信息或其他方式?)这两个标志可以互换使用吗?

0 投票
14 回答
2244 浏览

flags - 建议在代码中经常使用标志吗?

我在阅读其他人的代码时遇到了很多标志,

然后后来,

有很多这样的旗帜。我很想知道,在代码中经常使用标志是否可取?