为什么C语言在编程领域如此重要?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1268个文字,预计阅读时间需要6分钟。
一、背景
1.有趣的题目 + 最近在看 + 硬件异常 + 相关知识,发现一个有意义的空引导异常问题,拿出来和家分享一下,为了方便叙述,先上一段有问题的代码。
csharp
namespace ConsoleApp2{ int} 一:背景 1. 一个有趣的话题最近在看 硬件异常 相关知识,发现一个有意思的空引用异常问题,拿出来和大家分享一下,为了方便讲述,先上一段有问题的代码。
namespace ConsoleApp2
{
internal class Program
{
static Person person = null;
static void Main(string[] args)
{
var age = person.age;
Console.WriteLine(age);
}
}
public class Person
{
public int age;
}
}
由于 person 是一个 null 对象,很显然这段代码会抛异常,那为什么会抛异常呢? 要想找原因,需要从最底层的汇编研究起。
可以使用 Visual Studio 2022 的反汇编窗口,观察 var age = person.age; 处到底生成了什么。
本文共计1268个文字,预计阅读时间需要6分钟。
一、背景
1.有趣的题目 + 最近在看 + 硬件异常 + 相关知识,发现一个有意义的空引导异常问题,拿出来和家分享一下,为了方便叙述,先上一段有问题的代码。
csharp
namespace ConsoleApp2{ int} 一:背景 1. 一个有趣的话题最近在看 硬件异常 相关知识,发现一个有意思的空引用异常问题,拿出来和大家分享一下,为了方便讲述,先上一段有问题的代码。
namespace ConsoleApp2
{
internal class Program
{
static Person person = null;
static void Main(string[] args)
{
var age = person.age;
Console.WriteLine(age);
}
}
public class Person
{
public int age;
}
}
由于 person 是一个 null 对象,很显然这段代码会抛异常,那为什么会抛异常呢? 要想找原因,需要从最底层的汇编研究起。
可以使用 Visual Studio 2022 的反汇编窗口,观察 var age = person.age; 处到底生成了什么。

