小编LMS*_*LMS的帖子

"ClickOnce不支持请求执行级别'requireAdministrator.'"

所以我正在编写一个需要访问注册表的应用程序.我没有触及任何构建设置,希望在添加其他触摸(例如描述或名称)之前让事情正常工作.

出乎意料的是,我得到了一个不会消失的错误.ClickOnce does not support the request execution level 'requireAdministrator'.现在,我没有在这个应用程序中触及ClickOnce.我所做的就是包括一个请求这些权限的清单文件.

我现在的问题是这个错误不会消失,我无法编译我的程序.关于该怎么做的任何建议?(旁注:我准备去睡觉了,明天下午我会检查一下).

c# wpf clickonce compiler-errors

88
推荐指数
6
解决办法
6万
查看次数

在软件中实现SSE 4.2的CRC32C

所以我的设计结合了CRC32C校验和,以确保数据没有被损坏.我决定使用CRC32C,因为如果运行软件的计算机支持SSE 4.2,我可以同时拥有软件版本和硬件加速版本.

我将使用英特尔的开发人员手册(第2A卷),它似乎提供了该crc32指令背后的算法.但是,我运气不好.英特尔的开发人员指南说明如下:

BIT_REFLECT32: DEST[31-0] = SRC[0-31]
MOD2: Remainder from Polynomial division modulus 2

TEMP1[31-0] <- BIT_REFLECT(SRC[31-0])
TEMP2[31-0] <- BIT_REFLECT(DEST[31-0])
TEMP3[63-0] <- TEMP1[31-0] << 32
TEMP4[63-0] <- TEMP2[31-0] << 32
TEMP5[63-0] <- TEMP3[63-0] XOR TEMP4[63-0]
TEMP6[31-0] <- TEMP5[63-0] MOD2 0x11EDC6F41
DEST[31-0]  <- BIT_REFLECT(TEMP6[31-0])
Run Code Online (Sandbox Code Playgroud)

现在,据我所知,我已经完成了TEMP6正确开始的所有事情,但我想我可能要么误解多项式除法,要么错误地实现它.如果我的理解是正确的,那么1 / 1 mod 2 = 1,0 / 1 mod 2 = 0两个除零都是未定义的.

我不明白的是64位和33位操作数的二进制除法是如何工作的.如果SRC0x00000000,并且DEST0xFFFFFFFF,TEMP5[63-32]将所有设置位,而TEMP5[31-0]将全部取消设置位.

如果我要使用来自TEMP5分子的位,那么将有30个除以零,因为多项式 …

c++ crc32 polynomial-math

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

"添加"和"按位添加"之间有区别吗?

作为一个小项目(没有关键任务),我决定尝试在C#中编写GOST 28147-89的实现.然而,在阅读RFC 5830(信息定义GOST 28147-89)时,我注意到了这一点.

(+)是对模2的相同长度的单词的逐位加法.

[+]是模2 ^ 32的32位向量的加法.

这两者之间有什么区别,主要是第一次指定按位加法,第二次只是说明加法?

c#

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

php - 替换双引号内的内容,包括双引号

所以我决定尝试制作一个文本突出显示系统.目前,我只是str_replace用来替换一个单词(例如输入字符串$rstr = str_replace("Console", "<c>Console</c>", $str在哪里$str.

困扰我的是如何替换语音标记(")和引号(')内的内容.例如,如果字符串"控制台"变成了Console.WriteLine("Words");,我怎么会替换"Words"<sr>"Words"</sr>(<sr>在外部样式表中定义)?

我有我可以使用正则表达式一个,虽然,但1.我不知道该怎么写正则表达式,和2我不知道如何使用正则表达式str_replace.


我的解决方案:

function hlStr($original)
{
    $rstr = explode('"', $original);
    return $rstr[0].'<sr>"'.$rstr[1].'"</sr>'.$rstr[2];
}
Run Code Online (Sandbox Code Playgroud)

php regex replace

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

Switch语句始终解析为默认值而不是大小写

所以我最近一直在尝试D,因为我认识的许多程序员都建议我通过C++学习它.

我正在使用DMD Compiler v2.057,这是我的代码:

while(cliLoopC)
{
    write("?> ");
    string iPt_ = std.string.tolower(readln());
    switch (iPt_)
    {
        default: writeln(E_URECCOM); break;
        case "test":
            writeln("Hello!");
            break;
    }
}
Run Code Online (Sandbox Code Playgroud)

程序是这样的,每当我输入时test,它应该转到case而不是default,它只打印E_URECCOM的内容(这是一个包含的常量char [] UNRECOGNISED COMMAND\n).

我不知道发生了什么让它做到这一点.有任何想法吗?

d evaluate switch-statement

3
推荐指数
2
解决办法
268
查看次数

连接4位整数

我正在使用cpuid操作码来检索处理器模型和扩展模型的值.我正在使用的文档说我必须将扩展模型的值连接到模型的值,并且我可以得到正确的模型.

Ex. Model:         2h
Model:             Eh
Required Output:   2Eh
Run Code Online (Sandbox Code Playgroud)

这是一个例子,但还有更多喜欢它.如何将两个数字连接在一起(这是4位无符号整数)以在C++中接收所需的输出?

c++ bit-manipulation concatenation

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

相同值的两个字节数组不相等

在编写程序时,我最近遇到了一个奇怪的问题.两个字节的八个值的数组,每个都具有相同的值,在使用==运算符时报告为不相等,并且值GetHashCode()也不同.

byte[] id = new byte[8] {
    0x00, 0x00, 0x00, 0x00,
    0xF8, 0x00, 0x00, 0x00
};
byte[] od = new byte[8] { 
    0x00, 0x00, 0x00, 0x00,
    0xF8, 0x00, 0x00, 0x00 
};

Console.WriteLine(id == od);
Console.WriteLine(id.GetHashCode());
Console.WriteLine(od.GetHashCode());
Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)

该程序输出到控制台如下:

False
45653674
41149443
Run Code Online (Sandbox Code Playgroud)

任何人都可以提供一些输入,为什么这些字节数组不被视为相等?

.net c# bytearray

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