Static变量在Debug和Release模式下的初始化顺序偶有差异
来源:互联网 发布:男生自慰方式 知乎 编辑:程序博客网 时间:2024/05/01 15:18
新建一个简单的Console项目,包含三个class:
Helper.cs是一个工具类,提供一些静态的方法:
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace StaticMember{ class Helper { internal static string GetVersion() { Console.WriteLine("Step 2.<Helper.GetVersion> The methods GetVersion() had been invoked. It indicates that Tester.version had been initilized."); return "V1.0.0.2566"; } }}
Tester.cs是一个含有静态变量的类:
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace StaticMember{ class Tester { static string version = Helper.GetVersion(); internal static void Init() { Console.WriteLine("Tester.Init()"); } }}
Program.cs中的Main函数初始化Tester类的一个实例。
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace StaticMember{ class Program { static void Main(string[] args) { Console.WriteLine( "Step 1. <Program.Main> Before create an instance of Tester class. "); Tester tester = new Tester(); //Tester.Init(); Console.Read(); } }}
按一般逻辑,应该是先显示Step1….., 然后再显示Step 2….。在Dubug模式下确实如此:
在Release模式下,若直接在Vs.net中按F5运行也是显示上图结果,但若按“Ctrl+F5”键运行或直接点击“bin/release/StaticMember.exe”文件运行,则显示的是如下顺序:
甚是奇怪,未得其解!
- Static变量在Debug和Release模式下的初始化顺序偶有差异
- Release和Debug模式下成员变量初始化问题
- BOOL 值在 debug 和 release 模式下初始化不一样!!!
- BOOL 值在 debug 和 release 模式下初始化不一样!!!
- 调试Release模式下遇到的问题 - Debug和Release的差异。
- volatile在debug和release模式下的意义
- Opencv在Release和Debug不同模式下的配置
- Release和Debug模式的区别以及Opencv在Release和Debug不同模式下的配置
- debug 和release 模式下的NSLog
- release debug模式下没有初始化的区别
- C++debug和release的差异
- Debug 模式 和 Release 模式下,一个线程在"编译"上引发的问题
- 谈在Debug和Release模式下输出调试信息
- 谈在Debug和Release模式下输出调试信息
- 谈在Debug和Release模式下输出调试信息 .
- 谈在Debug和Release模式下输出调试信息
- vs2005下debug模式和release模式的不同
- static 变量初始化顺序的问题和解决方案
- DesignPattern-Abstract Factory 修改
- 奇怪的U盘
- tomcat 内存和DNS缓存设置
- 如何做好需求调研
- 4Shared开始提供15GB免费云存储空间
- Static变量在Debug和Release模式下的初始化顺序偶有差异
- 如何手动控制spring容器的加载
- Android高手进阶教程(十)-----Android PopupWindow的使用!!!
- extern使用方法及技巧
- 上周工作总结及本周工作安排
- Quartz
- CXF与Spring集成中的注意事项
- 自定义LoadingDialog
- 最新的外企待遇