`
RednaxelaFX
  • 浏览: 3039537 次
  • 性别: Icon_minigender_1
  • 来自: 海外
社区版块
存档分类
最新评论

装了VS2005 SP1,测了些原来测的东西

    博客分类:
  • C#
阅读更多
之前学C#时写过个测试,看看readonly的行为到底如何。结果让我挖到了VS2005/.NET Framework 2.0里C#编译器的一个bug:readonly的值类型常量的值在运行时能被改变。
今天因为需要装了VS2005 SP1,突然想起这东西,于是重新写了个来测试:
public sealed class TestReadonly
{
    static readonly MutableInt32 ZERO = new MutableInt32( 0 );
    
    public static void Main( string[ ] args ) {
        ZERO.increment( ); // no effect
        System.Console.WriteLine( ZERO.Value ); // 0
        ++ZERO; // bad. changed value of readonly constant
        System.Console.WriteLine( ZERO.Value ); // 1
    }
}

struct MutableInt32
{
    private int m_value;
    
    public MutableInt32( int i ) {
        this.m_value = i;
    }
    
    public int Value {
        get { return this.m_value; }
        set { this.m_value = value; }
    }
    
    public void increment( ) {
        ++m_value;
    }
    
    public static MutableInt32 operator ++( MutableInt32 m ) {
        m.increment( );
        return m;
    }
}

结果让人挺失望了。我原本以为这个问题是在SP1的时候解决的,看来不是……
引用
E:\>peverify TestReadonly.exe

Microsoft (R) .NET Framework PE Verifier.  Version  2.0.50727.42
Copyright (c) Microsoft Corporation.  All rights reserved.

[IL]: 错误: [E:\TestReadonly.exe : TestReadonly::Main][偏移量 0x0000002C] 无法在
initonly 字段的 .ctor 之外对其进行更改。
1 Error Verifying TestReadonly.exe


不过没关系,至少这个bug在VS2008/.NET Framework 3.5里已经不存在了。

==============================================================

hmm,不过测试这些东西还是副产品,这次装上SP1主要是为了那个ASP.NET Web应用程序的模板。可是这玩意也真是够大的,还真的是装了4G的东西上来。于是我的C盘开始吃紧了……

顺手把ASP.NET AJAX 1.0也装上了,看看这次会不会用上
分享到:
评论
6 楼 RednaxelaFX 2007-12-08  
不不,一早就不喜欢Borland。没什么特别的原因,单纯的个人偏好。
当年跟只用NetBeans和Borland JBuilder的人合作写Java程序让我对这两个东西深恶痛绝……其实如果Visual Studio 2005/.NET Framework 2.0/C# 2.0不支持partial class的话,只怕这个搭配我也会一样讨厌。
5 楼 shawind 2007-12-08  
不会是被krkr把对bcb的印像弄坏了吧。我看好多日本人都用这个。
4 楼 RednaxelaFX 2007-12-08  
Windows上的ICC确实是收费的.Linux上则有免费的ICC.
上次被一同学问到我有没有用ICC,我说有,他马上问我怎么拿到key的,搞得我甚是尴尬...
BCB没必要时坚决不用.只是要免费的话Windows上用MinGW就很舒服了,懒得换其它.
3 楼 shawind 2007-12-07  
psdk可以单独下。c的话,windows可以用intel的吧,还有bcb,不过这好像都是收钱OTL。免费的就试试dmc和bcb5.5吧。
2 楼 RednaxelaFX 2007-12-06  
不要PSDK那还有什么用…… =_=
看前面的回复吧……我痛苦了一晚上了 T T
1 楼 lwwin 2007-12-06  
最近忙不?
偶问朋友要来了2K8 RTM的命令行,反正不要PSDK只有110M,压缩以后就只有18.7M够用了……
主要是C++用的少了……

不知道除了G++有没有非GNU的编译器,比如C不是有很多编译器嘛^^
标准偶不是太在意,因为对于诸多古怪的用法偶是很少接触的,也不懂

相关推荐

    VS2005SP1安装设置

    VS2005SP1安装设置

    VS2005 SP1.bat

    VS2005 SP1.bat VS2005 SP1.bat VS2005 SP1.bat

    VS2005_SP1补丁

    Microsoft Visual C++ 2005 Redistributable Package (x86) 安装在未安装 Visual C++ 2005 的计算机上运行使用 Visual C++ 开发的应用程序所需的 Visual C++ 库的运行时组件。 此软件包安装 C Runtime (CRT)、...

    快速安装vs2005的sp1补丁

    ### 快速安装VS2005的SP1补丁 #### 一、概述 Microsoft Visual Studio 2005 (VS2005) 是一款由微软开发的集成开发环境(IDE),支持多种编程语言如C#, VB.NET等,并且能够创建Windows应用程序以及ASP.NET网站。随着...

    vs2005 sp1无法安装的解决办法

    而Service Pack 1(SP1)则是为了修复原版VS2005中发现的各种错误和漏洞,提升其稳定性和性能所发布的重要更新。然而,在实际安装过程中,不少用户遇到了VS2005 SP1无法正常安装的问题,这不仅影响了开发效率,还...

    VS10sp1装VS2010必备

    标题中的"VS10sp1装VS2010必备"指的是在安装Microsoft Visual Studio 2010(VS2010)时,需要先安装一个特定的更新,即Visual Studio 2010 Service Pack 1(VS10sp1)。Service Pack是一种重要的软件更新,通常包含...

    Visual studio 2005 sp1

    VS80sp1-KB926601-X86-ENU 我自己用的。放在这里留个底。

    VS2010 SP1(亲测可用)

    7. **安装过程**:标题中的“亲测可用”表明该文件是经过验证的,用户在解压后运行"VS10sp1-KB983509.exe",系统将自动在线下载并安装所需组件,无需手动操作。 总结来说,Visual Studio 2010 SP1 是一个全面的更新...

    vs 2010 sp1 VS2010sp1-KB983509 补丁

    标题“VS 2010 SP1 VS2010sp1-KB983509 补丁”所指的是一项针对微软Visual Studio 2010的Service Pack 1 (SP1)的重要更新,KB983509是该更新的特定补丁编号。在软件开发领域,Service Pack是一种集合了多个修复程序...

    Visual Studio 2005 集成SP1

    msiexec.exe /a F:\VS2005\SP1\VS80sp1-KB926604-X86-CHS.msp TARGETDIR=F:\VS2005\vs ``` #### 四、注意事项 - 在进行集成之前,请确保备份原始安装文件,以防万一集成过程中出现问题。 - 执行上述命令时,建议在...

    vc2005_sp1安装包

    标题中的“vc2005_sp1安装包”指的是Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package。这个安装包是微软为了支持那些依赖VC++ 2005运行库的程序而提供的,特别是对于使用ATL(Active Template ...

    Microsoft Visual C++ 2005 SP1 Redistributable Package

    《Microsoft Visual C++ 2005 SP1 Redistributable Package:详解与应用》 Microsoft Visual C++ 2005 SP1 Redistributable Package 是微软发布的一个关键组件,主要用于解决用户系统上缺失Visual C++ 2005运行库的...

    vs2010sp1补丁包

    标题中的"vs2010sp1补丁包"指的是针对Visual Studio 2010的Service Pack 1更新,这是一个重要的更新包,包含了微软为解决VS2010中存在的诸多问题和提升性能而发布的修正程序。VS2010SP1不仅优化了IDE的稳定性,还对...

    Vs2003 SP1 (VS7.1sp1-KB918007-X86)

    Vs2003 SP1 VS7.1sp1-KB918007-X86,这个补丁包,放在这里备份.

    VS80sp1-KB926601-X86-ENU

    VS80sp1-KB926601-X86-ENU VS80sp1 KB926601 X86 ENU VS2005 SP1 英文版,我自己用的,放在这里留个底。

    VS80sp1-KB926604-X86-CHS.exe(VS80sp1-KB926604-X86-CHS.exe)

    中文版VS2005,安装补丁:VS80sp1-KB926604-X86-CHS.exe。

    Visual C++ 2005 SP1.rar

    《Visual C++ 2005 SP1:深入解析与应用》 Visual C++ 2005 SP1,全称Microsoft Visual C++ 2005 Service Pack 1,是微软公司推出的一款强大的C++编程工具,它在Visual Studio 2005的基础上进行了诸多改进和增强,...

    vs2010 sp1安装核心文件,VS10sp1-KB983509

    "VS2010 SP1安装核心文件,VS10sp1-KB983509" 这个标题指的是Visual Studio 2010的Service Pack 1(SP1)的核心安装文件,KB983509是该更新的特定补丁编号。Service Pack是一种软件更新包,通常包含了自产品发布以来...

    vs2010 sp1离线完整安装包(1.48G)

    vs2010 sp1离线完整安装包(1.48G),亲测可用!

    VS80sp1-KB926601-X86-ENU.7z.002

    VS80sp1 KB926601 X86 ENU VS2005 SP1 英文版

Global site tag (gtag.js) - Google Analytics