标签: flags

如何用Java中的Enums替换Legacy Flag和Constants按位运算?

问候,

我找到了一个使用Flag的C++遗留代码,后来根据完成的读取更新了标志的状态:

主文件:

#define VINCULACION                 0x00000004L
#define DET_VINCULACION             0x00000008L

long unsigned FlagRead ;

int formerMethod(){
if ((FlagRead & VINCULACION)==0) ReadVinculacion();
//... DO MORE
}

int ReadVinculacion(){
//.. Do DB operations to read Vinculacion variables.
FlagRead|=VINCULACION;
  return 1;
}

//.. Same similar methods to ensure reading DET_VINCULACION but not doing it twice.
Run Code Online (Sandbox Code Playgroud)

现在用Java开发我没有使用带有整数或长整数的常量作为使用枚举的好习惯.

是否有一种性能明智和可靠的方法来使用java下的枚举执行相同的任务?

谢谢!

java enums flags bitwise-operators

1
推荐指数
1
解决办法
548
查看次数

声明按位枚举(标志) - 最近的c#语法为"DWORD风格"的怪癖?

背景:按位枚举对于"更易读"的比较和检查非常有用:即OpenFile(write | append).

我已经看到了几种在C#中声明按位枚举的方法,但是最近其中一种常见模式似乎不再返回唯一值,我想知道我是在宣告它是错还是有些东西已经改变了.我在谈论"DWORD"(十六进制?)样式(如下所示),在VS2012 RC中枚举时,值为1,2,3,4 ...而不是预期的逐位加倍.

其他人可以重现这个吗?我发布了用于验证的代码以及控制台输出; ComparisonsDword正如您可以通过"标记枚举,带有DWORD的显式值"的输出所看到的那样发生奇怪的行为.

没有标志,正常的枚举

/// <summary>
/// How to compare filter values; no underlying type declared, not flag
/// </summary>
public enum ComparisonsNotInt {
    [Description("x")]
    None
    ,
    [Description("!=")]
    NotEqual
    ,
    [Description("=")]
    Equal
    ,
    [Description(">")]
    GreaterThan
    ,
    [Description("<")]
    LessThan
    ,
    /// <summary>
    /// Combination of <see cref="Equal"/> and <see cref="LessThan"/>
    /// </summary>
    [Description("<=")]
    LessThanOrEqual = (Equal | LessThan)
    ,
    /// <summary>
    /// Combination of <see cref="Equal"/> and <see cref="GreaterThan"/>
    /// </summary>
    [Description(">=")]
    GreaterThanOrEqual …
Run Code Online (Sandbox Code Playgroud)

c# syntax enums flags

1
推荐指数
1
解决办法
1103
查看次数

Python中更容易控制流量

在下面的代码中,我试图检查"shape_list"中是否已存在变量"new_shape".如果它不存在,我想添加它; 如果确实存在,我只想留下它.到目前为止,我只使用标志实现了这一点.我确信有一种方法可以在没有旗帜的情况下更有效地完成同样的事情.有什么建议?感谢您的帮助!

    flag = 0
    for shape in shape_list:
        if new_shape == shape:
            flag = 1
            break
    if flag == 0:
        shape_list.append(new_shape)
Run Code Online (Sandbox Code Playgroud)

python flags flow-control

1
推荐指数
1
解决办法
1088
查看次数

如何在PowerShell脚本中将参数化函数别名作为标志?

我有一个PS脚本,其中包含一些功能.我需要的是我应该能够将特定函数作为别名或变量标志传递给PS脚本.

对于Eg:假设我有一个具有以下2个函数的TestFunc.ps1文件

$XmlFilePath = "C:\XmlPath\file1.xml
Function ParseXml($XmlFilePath)
{
#Do Something
}

Function CreateReport($XmlFilePath)
{
#Do Something
}
Run Code Online (Sandbox Code Playgroud)

现在我如何为这两个函数(ParseXml和CreateReport)创建一个别名,以便我可以将它们作为标志(使用它们的别名)传递给脚本?对于Eg:我应该能够做到这样的事情:

. .\TestFunc.ps1 -Xml #This must be able to execute the ParseXml($XmlFilePath) function for me
. .\TestFunc.ps1 -Report #This must execute CreateReport($XmlFilePath) function
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.我一直在努力这一段时间.

谢谢!阿树

powershell flags alias function

1
推荐指数
1
解决办法
1230
查看次数

"|"的确切功能是什么?分离参数时的(垂直线)运算符

我用过双垂直"||" 作为布尔"或"运算符.并看到"|" 是按位还是.

但是,由于我已经开始使用c ++/cli,我注意到它曾经用一个似乎接受多个标志的单个参数来分隔函数中的标志.

这方面的一个例子是msdn的MessageBox()函数示例.

int msgboxID = MessageBox(
        NULL,
        (LPCWSTR)L"Resource not available\nDo you want to try again?",
        (LPCWSTR)L"Account Details",
        MB_ICONWARNING | MB_CANCELTRYCONTINUE | MB_DEFBUTTON2
    );
Run Code Online (Sandbox Code Playgroud)

"|"执行的操作到底是什么 这里?

什么是"|" 实际上叫做符号?(就像"^"被称为插入符号,而不是我在编程之前所知道的,这是"倒置V"):D

我问的原因是我正在使用函数setWindowPos(),它也接受标志作为参数.函数声明如下:

BOOL WINAPI SetWindowPos(
  _In_      HWND hWnd,
  _In_opt_  HWND hWndInsertAfter,
  _In_      int X,
  _In_      int Y,
  _In_      int cx,
  _In_      int cy,
  _In_      UINT uFlags
);
Run Code Online (Sandbox Code Playgroud)

我想知道标志是否可以像MessageBox()中那样组合.

提前致谢,

家伙

c++ flags operators

1
推荐指数
2
解决办法
1万
查看次数

什么是Enum.HasFlag应该返回?

我有枚举:

[Flags]
enum Editions
{
    Educational,
    Basic,
    Pro,
    Ultra
}
Run Code Online (Sandbox Code Playgroud)

为什么我会这样做?

var x = Editions.Basic;
var y = Editions.Educational;
var test =x.HasFlag(y); // why is this true!?
// and!!!
var test2 = y.HasFlag(x); // this is false!
Run Code Online (Sandbox Code Playgroud)

c# enums flags

1
推荐指数
2
解决办法
1893
查看次数

沉浸式Android Studio

我希望我制作的游戏能够在沉浸式模式下运行,但是android studio无法识别标志沉浸式模式,因为我将最低API设置为16,并且我知道沉浸式模式仅在以后的KitKat中添加。有什么方法可以让我的应用程序在不改变最低API的情况下以沉浸式模式运行?

java api flags android

1
推荐指数
1
解决办法
2881
查看次数

Xcode-如何添加可以在头文件中检查的标志?

我为我的项目准备header file了很多东西constants
我想运行我的代码的特定部分depending on the target I've chosen。我知道如何做到这一点的infoDictionary一种方法是使用NSBundle的方法。但是,我只想在这里使用.h文件作为我的所有常量。

当前,我正在使用DEBUG标志并通过检查该标志来运行我的代码,如下所示:

#if DEBUG
...
#else
...
#endif
Run Code Online (Sandbox Code Playgroud)

我希望能够在目标中添加自己的标志并检查头文件中的标志,而不是依赖DEBUG标志。

settings xcode flags ios

1
推荐指数
1
解决办法
403
查看次数

调试打印的MS标志中的奇怪值

我在Microsoft驱动程序代码示例中看到调试跟踪标志:

#define DEBUG_TRACE_ERROR                           0x00000001  // Errors - whenever we return a failure code
#define DEBUG_TRACE_LOAD_UNLOAD                     0x00000002  // Loading/unloading of the filter
#define DEBUG_TRACE_INSTANCES                       0x00000004  // Attach / detatch of instances

#define DEBUG_TRACE_METADATA_OPERATIONS             0x00000008  // Operation to access / modify in memory metadata

#define DEBUG_TRACE_ALL_IO                          0x00000010  // All IO operations tracked by this filter

#define DEBUG_TRACE_INFO                            0x00000020  // Misc. information

#define DEBUG_TRACE_ALL                             0xFFFFFFFF  // All flags
Run Code Online (Sandbox Code Playgroud)

据我所知,标志应该是2的功率(如1,2,4,8,16,32)不相交.但是为什么DEBUG_TRACE_ALL_IO是10而DEBUG_TRACE_INFO 是20而不是16&32?

c c++ flags

1
推荐指数
1
解决办法
44
查看次数

使用tf.app.flags时出错

tf.app.flags在我的tensorflow程序中使用了这样的:

flags = tf.app.flags
FLAGS = flags.FLAGS

flags.DEFINE_string('model_dir', './models','Save checkpoint')
.
.
.
if __name__ == "__main__":    
#    main()
    tf.app.run()  
Run Code Online (Sandbox Code Playgroud)

但是当我运行我的代码两次时会出现这个错误:

ArgumentError: argument --model_dir: conflicting option string: --model_dir
Run Code Online (Sandbox Code Playgroud)

我认为tensorflow为--model_dir创建了一个参数,当它再次运行时,它尝试再次创建--model_dir的参数,但是存在--model_dir冲突.

有没有办法解决这个问题或者我使用python参数tf.app.falgs

flags tensorflow

1
推荐指数
1
解决办法
3887
查看次数