小编Azi*_*ziz的帖子

C#if/else上的编译器优化

我不太了解编译器以及.Net如何优化生成的机器代码,但想了解以下场景:

    class AnyClass
    {
        public bool anyFlag;
        AnyClass()
        {
            anyFlag = true;
        }

        public void Action()        
        {
            if(anyFlag)
                 //Perform Certain Actions
        }
    }
Run Code Online (Sandbox Code Playgroud)

anyFlag在整个程序范围内不会改变.编译器是否会为Action方法生成MIL /机器代码?如果是这样,它会在那里检查吗?

.net c# compiler-construction compiler-optimization

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

从32位版本迁移到64位版本

在64位计算机上进行测试时,我们一直在进行32位构建.为了在我们的应用程序中利用机器的强大功能,我们计划为C#/ .NET 4.0代码库进行64位构建.我们过去从未这样做过,还没有测试过,虽然看起来很简单,但我们想了解以下内容:

  • 在此迁移过程中我们需要采取哪些必要步骤?
  • 如果在迁移期间我们可以期待什么问题?坦率地说,我不确定我们可能面临任何打嗝?就像我们的代码引用了32位版本被引用的底层DLL一样?我们需要更新所有参考文献吗?同样,我们在这里没有太多见解,所以这个具体问题可能无关紧要.但我们想了解任何可能妨碍顺利过渡的问题.
  • 我们在32位上进行了所有功能测试.我们可能没有太多时间在64位上进行严格的测试?依靠我们的32位功能测试是一种安全的策略吗?

c# 64-bit

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