小编Gis*_*ofx的帖子

未使用的常量是否仍在编译或优化?如果没有,怎么办?

我正在使用netMF编程嵌入式设备.记忆很珍贵.我正在访问低级MCU寄存器我想将所有这些寄存器保存在某种类型的静态类中,以便于访问.并非所有常量都在给定程序中使用.

是否编译了未使用的常量?

如果是这样,有没有更好的方式使它们不被编译并且程序大小更小,同时产生静态类的相同功能并获得intellisense是visual studio?

public static class DeviceRegisters
{
    public const uint Tim9 = 0x40014000;
    public const uint Tim8 = 0x40010400;
    public const uint GPIOA_MODER = 0x40020000;
}
Run Code Online (Sandbox Code Playgroud)

然后执行如下:

public class Thing
{
   public thing(uint timerRegister, uint GPIOx_register)
   {
       //do stuff
       Register thing = new Register(timerRegister);
       //...
   }

}
Run Code Online (Sandbox Code Playgroud)

实例化如下:

public class Program
{
   public static Thing MyThing;

   public static void Main()
   {
      MyThing = new Thing(DeviceRegisters.Tim9, DeviceRegisters.GPIOA_MODER);
      //rest of program below
   }

}
Run Code Online (Sandbox Code Playgroud)

.net c# static compilation constants

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

标签 统计

.net ×1

c# ×1

compilation ×1

constants ×1

static ×1