小编jjx*_*tra的帖子

确定整数是否在具有已知值集的两个整数(包括)之间的最快方法

是否有比x >= start && x <= endC或C++ 更快的方法来测试整数是否在两个整数之间?

更新:我的特定平台是iOS.这是盒子模糊功能的一部分,它将像素限制为给定方块中的圆圈.

更新:在尝试接受的答案后,我在一行代码上以正常x >= start && x <= end方式执行了一个数量级的加速.

更新:这是来自XCode的汇编程序的after和before代码:

新方法

// diff = (end - start) + 1
#define POINT_IN_RANGE_AND_INCREMENT(p, range) ((p++ - range.start) < range.diff)

Ltmp1313:
 ldr    r0, [sp, #176] @ 4-byte Reload
 ldr    r1, [sp, #164] @ 4-byte Reload
 ldr    r0, [r0]
 ldr    r1, [r1]
 sub.w  r0, r9, r0
 cmp    r0, r1
 blo    LBB44_30
Run Code Online (Sandbox Code Playgroud)

老路

#define POINT_IN_RANGE_AND_INCREMENT(p, range) (p <= range.end …
Run Code Online (Sandbox Code Playgroud)

c c++ math performance

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

std :: vector是否使用push_back复制对象?

经过对valgrind的大量调查后,我得出结论,std :: vector制作了你想要push_back的对象的副本.

这是真的吗?没有副本,向量不能保留对象的引用或指针?

谢谢

c++ stl stdvector

157
推荐指数
4
解决办法
10万
查看次数

在64位操作系统上32位进程可以访问多少内存?

在Windows上,在正常情况下,32位进程只能访问2GB的RAM(或者带有boot.ini文件中的特殊开关的3GB).在64位操作系统上运行32位进程时,可用内存量是多少?是否有任何特殊的开关或设置可以改变这种情况?

memory windows wow64

82
推荐指数
5
解决办法
12万
查看次数

C#4.0:将pdf转换为byte [],反之亦然

如何将pdf文件转换为byte [],反之亦然?

c# pdf bytearray

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

如何判断一个线程是否是C#中的主线程

我知道还有其他帖子说你可以创建一个控件然后检查InvokeRequired属性以查看当前线程是否是主线程.

问题是你无法知道该控件本身是否是在主线程上创建的.

我使用以下代码来判断一个线程是否是主线程(启动该进程的线程):

if (Thread.CurrentThread.GetApartmentState() != ApartmentState.STA ||
    Thread.CurrentThread.ManagedThreadId != 1 ||
    Thread.CurrentThread.IsBackground || Thread.CurrentThread.IsThreadPoolThread)
{
    // not the main thread
}
Run Code Online (Sandbox Code Playgroud)

有谁知道更好的方法?看起来这种方式可能在运行时的未来版本中容易出错或中断.

.net c# multithreading

39
推荐指数
4
解决办法
4万
查看次数

在C#中计算来自未知长度的流的哈希

在C#中计算"动态"md5的最佳解决方案是什么,就像未知长度的流的哈希一样?具体来说,我想根据通过网络收到的数据计算哈希值.我知道当发件人终止连接时我已收到数据,所以我不知道提前的长度.

[编辑] - 现在我正在使用md5,但这需要在保存并写入磁盘后再次传递数据.当它从网络进入时,我宁愿哈希它.

c# hash cryptography stream

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

ASP.NET MVC OutputCache因*而异,因用户cookie而异

我有一个asp.net mvc 3项目,我有一个家庭控制器.我已使用此属性标记了我的Index操作:

[OutputCache(Location = System.Web.UI.OutputCacheLocation.Any, Duration = 120, VaryByParam = "*", VaryByCustom = "user")]
public ActionResult Index()
{
    return View();
}
Run Code Online (Sandbox Code Playgroud)

根据用户自定义的变化在Global.asax.cs中处理以检查用户cookie值,以便根据用户是否登录以及他们是什么用户来更改缓存.

当我在我的Web服务器上访问此页面时,我在响应中获得了这些标头:

Cache-Control   public, max-age=120
Content-Type    text/html; charset=utf-8
Content-Encoding    gzip
Expires Sun, 20 Mar 2011 21:50:09 GMT
Last-Modified   Sun, 20 Mar 2011 21:48:09 GMT
Vary    Accept-Encoding
Date    Sun, 20 Mar 2011 21:48:09 GMT
Content-Length  3105
Run Code Online (Sandbox Code Playgroud)

蝙蝠,Vary - Accept-Encoding值看起来不对,不应该发送Vary - *而不是吗?

我也将User.Identity.Name属性呈现给此视图,我注意到即使我注销它仍将呈现用户名,直到120秒到期.

public override string GetVaryByCustomString(HttpContext context, string custom)
{
    if (custom.Equals("user", StringComparison.OrdinalIgnoreCase))
    {
        HttpCookie cookie = context.Request.Cookies["user"];
        if …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc outputcache

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

如何在没有持续扫描的情况下检测目录或文件的更改时间

除了读取所有文件并将它们与之前的快照进行比较之外,有没有办法检测C#中的目录何时发生变化?我不介意PInvoke,如果这是它需要的.

c# windows filesystems directory file

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

如何在 C# 中生成 .proto 文件或使用“Code First gRPC”

我想在 asp.net 核心 Web 应用程序中使用带有 .NET 的 gRPC。如何从现有的 C# 类和模型对象生成必要的 .proto 文件?我不想重新编写反映现有代码的 .proto 文件,我希望从类和模型对象自动生成 .proto 文件。

我调用这个方法来注册我的服务类。

builder.MapGrpcService<MyGrpcService>();

public class MyGrpcService
{
    public Task<string> ServiceMethod(ModelObject model, ServerCallContext context)
    {
        return Task.FromResult("It Worked");
    }
}
Run Code Online (Sandbox Code Playgroud)

ModelObject[DataContract][DataMember]有订单属性。

这可能吗?我在网上看到的每个例子都以一个.proto文件开头。我已经在MyGrpcService类中定义了我想要的服务方法。但也许这只是落后于标准的做事方式......

像旧的 .NET 远程处理这样的东西是理想的,您可以从远程端点请求一个接口,它神奇地用于gRPC来回通信,但也许这太简单了。

c# protocol-buffers grpc .net-5

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

在 WSL 2 中启用 Systemd

我正在尝试在 Windows 上使用 Ubuntu 调试 WSL 2 中的一些 C# / .NET 5 代码。我在 Windows 10 上安装了 WSL 2,并且想要测试创建 Systemd 服务。不幸的是,默认情况下 Systemd 似乎并未随 WSL 2 一起启用,尽管标准 Ubuntu 安装默认情况下已启用它。有什么方法可以在 WSL 2 中启用 Systemd 吗?

c# windows-subsystem-for-linux .net-5

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