标签: flags

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

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

同样,其他设置/标志可以动态更改吗?

flags cmd batch-file

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

WPF ComboBox/ListBox与MultiSelect基于带标志的枚举

所以我可能只是稍微推动了界限......

基本上我有以下枚举,用C#代码声明:

[Flags]
public enum FlaggedEnum : int
{
    Option1 = 1,
    Option2 = 2,
    Option3 = 4,
    Option4 = 8,
    ...
    Option16 = 32768,
    None = 0
}
Run Code Online (Sandbox Code Playgroud)

此枚举是我已成功绑定到DataGrid对象的对象的成员.成功意味着我已成功绑定所有其他字段.:)

我想在这里实现的是一个控件,其中检查上面所有适当的选项,其行为和行为类似于ComboBox/ListBox.因此,您单击该字段并弹出一个下拉菜单,可以"检查"所需的任何选项.

控件还必须能够从枚举中读取并写入枚举.

我是WPF新手所以我不知道在哪里可以创建一个ComboBox并绑定到列...任何帮助将不胜感激!

c# enums flags datagrid wpftoolkit

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

在GCC风格的扩展内联asm中,是否可以输出"虚拟化"布尔值,例如进位标志?

如果我有以下C++代码来比较两个128位无符号整数,使用内联amd-64 asm:

struct uint128_t {
    uint64_t lo, hi;
};
inline bool operator< (const uint128_t &a, const uint128_t &b)
{
    uint64_t temp;
    bool result;
    __asm__(
        "cmpq %3, %2;"
        "sbbq %4, %1;"
        "setc %0;"
        : // outputs:
        /*0*/"=r,1,2"(result),
        /*1*/"=r,r,r"(temp)
        : // inputs:
        /*2*/"r,r,r"(a.lo),
        /*3*/"emr,emr,emr"(b.lo),
        /*4*/"emr,emr,emr"(b.hi),
        "1"(a.hi));
    return result;
}
Run Code Online (Sandbox Code Playgroud)

然后它将非常有效地内联,但有一个缺陷.返回值通过通用寄存器的"接口"完成,值为0或1.这会增加两个或三个不必要的额外指令,并减少比较操作,否则将完全优化.生成的代码看起来像这样:

    mov    r10, [r14]
    mov    r11, [r14+8]
    cmp    r10, [r15]
    sbb    r11, [r15+8]
    setc   al
    movzx  eax, al
    test   eax, eax
    jnz    is_lessthan
Run Code Online (Sandbox Code Playgroud)

如果我使用带有"bo"返回值的"sbb%0,%0"而不是带有"bool"返回值的"setc%0",那么还有两个额外的指令:

    mov    r10, [r14]
    mov    r11, [r14+8]
    cmp    r10, [r15] …
Run Code Online (Sandbox Code Playgroud)

assembly flags gcc boolean inline-assembly

5
推荐指数
2
解决办法
1585
查看次数

标志包含太多物品; 最后一个值太大了.我该如何解决这个问题?

可能重复:
当您使用标记(枚举)时,您的限制为64.达到限制时有哪些替代方法?

我有以下[Flags] enum必须包含33个元素:

[Flags]
public enum Types
{
    None = 0,
    Alarm = 1,
    Exit = 2,
    Panic = 4,
    Fire = 8,
    Tamper = 16,
    Key = 32,
    Line = 64,
    FTC = 128,
    Unused = 256,
    tech_1 = 512,
    //... tech_2 through _7 omitted for brevity
    tech_8 = 65536,
    fire_1 = 131072,
    //... fire_2 through _11 omitted for brevity
    fire_12 = 268435456,
    Key = 536870912,
    Exit = 1073741824,
    Gas = 2147483648, // Cannot convert source …
Run Code Online (Sandbox Code Playgroud)

c# enums flags

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

在Java中用6502仿真确定进位和溢出标志?

我正在制作一个6502仿真器,并且我已经在开始时(或者我认为我至少)(实现ADC操作).问题是我必须确定是否存在进位或溢出.问题是,在我的实现中,我无法真正理解它们之间的区别.我知道进位是在操作后出现第9位的时候,我知道当结果大于255时会发生溢出.这不是确定进位和溢出标志是一样的吗?

if(result > 255) { 
    carry = 1;
    overflow = 1;
} else { 
    carry = 0; 
    overflow = 0;
}
Run Code Online (Sandbox Code Playgroud)

这不正确吗?如果不是,那么什么是正确的,为什么?

java flags 6502 emulation carryflag

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

OpenCL - 为什么使用READ_ONLY或WRITE_ONLY缓冲区

OpenCL,在那里标记缓冲区任何性能优势READ_ONLY还是WRITE_ONLY

kernel是我经常看到的(a READ_ONLY和b是WRITE_ONLY):

__kernel void two_buffer_double(__global float* a, __global float* b)
{
    int i = get_global_id(0);
    b[i] = a[i] * 2;
}
Run Code Online (Sandbox Code Playgroud)

kernel似乎更好,因为它使用较少的全局内存(a是READ_WRITE):

__kernel void one_buffer_double(__global float* a)
{
    int i = get_global_id(0);
    a[i] = a[i] * 2;
}
Run Code Online (Sandbox Code Playgroud)

不要READ_ONLYWRITE_ONLY标志就是为了要帮助调试和捕获错误?

flags buffer kernel opencl pyopencl

5
推荐指数
3
解决办法
4213
查看次数

OSX 10.8上-stdlib = libc ++的部署目标无效

我正在通过node-gyp用C++ 编写的Node.JS包进行编译.当我编译它时,我收到以下错误:clang: error: invalid deployment target for -stdlib=libc++ (requires OS X 10.7 or later).我在OSX 10.8上运行,我已经安装了XCode命令行工具.这是node-gyp用来编译包的文件:

{
  "targets": [
    {
      "target_name": "package_name",

      'type': 'executable',

      'xcode_settings': {
        'OTHER_CFLAGS': [
          "-std=c++11",
          "-stdlib=libc++"
        ],
      },

      "sources": [ "package_src.cpp" ],
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

基本上它指定了编译的目标,类型和标志,以及源.

关于如何解决这个问题的任何想法?

c++ macos flags xcodebuild node-gyp

5
推荐指数
2
解决办法
8949
查看次数

在C中设置一个标志,就像在装配语言中一样优雅

与组装相比,C中的标志处理感觉很麻烦.

我正在寻找一种方法,使C代码可以像汇编一样可读.

在大会中:

#define powerOn flagsByte,0
... 
bsf powerOn ; Turn on the power
bcf powerOn ; Turn off the power
btfsc powerOn ; If the power is on...
Run Code Online (Sandbox Code Playgroud)

在C:

flagsByte |= (1 << 0) ; // Turn on the power
flagsByte &= ~(1 << 0) ; // Turn off the power
if (flagsByte & (1 << 0)); // If the power is on...
Run Code Online (Sandbox Code Playgroud)

在C中,用宏:

#define BIT_SET(var,bitNo) (var |= (1<<(bitNo)))
BIT_SET(flagsByte,0) ; // Turn on the power
Run Code Online (Sandbox Code Playgroud)

这可行,但它仍然不如装配中那么干净.

我喜欢这样做:

#define …
Run Code Online (Sandbox Code Playgroud)

c flags clear c-preprocessor

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

编程中“标志”一词的词源

我时不时地发现一个名为“ flag”的布尔变量,主要由新手程序员编写。我总是告诉他们每个布尔值都是一个标志,并且变量应具有有意义的名称。所以我想知道“标志”一词背后的词源是什么。

也许它很明显,我猜想它来自军事背景,但我想知道其背后的真实历史。顺便说一下,我试图在标题中进行总结,但是我提出的问题有点冗长,因为我收到有关质量标准的警告。抱歉

无论如何,“标志”一词背后的故事是什么?

flags history boolean

5
推荐指数
0
解决办法
745
查看次数

组合位标记

我有几个标志:

    None = 0
    HR = 1
    HD = 2,
    DT = 4,
    Fl = 8
..
Run Code Online (Sandbox Code Playgroud)

等等

我想创建一个输入特定标志的函数,可以这样说:6。

返回值应为HDDT,因为2 | 4 =6。也可能会组合3个或更多标志或仅一个标志。例如:7 = 1 | 2 | 4 => HRHDDT。

如何根据标志值返回缩进的字符串?

在我的情况下,枚举还有很多条目,这会使if语句真的很不舒服,因为我必须涵盖数百种情况。

有什么聪明的解决方案吗?

python flags

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