c# 内存对齐

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using System.Runtime.InteropServices;

public class MemoryAlignment : MonoBehaviour

{

[StructLayout(LayoutKind.Auto)]

struct StructA

{

public int num;

public int num1;

public long num2;

}

[StructLayout(LayoutKind.Explicit)]

struct StructB

{

[FieldOffset(0)]

public int num;

[FieldOffset(0)]

public long num2;

[FieldOffset(0)]

public int num1;

}

void Start()

{

StructA stru = new StructA();

Debug.LogError("num的长度:" + Marshal.SizeOf(stru.num));

//Debug.LogError("ch的长度:" + Marshal.SizeOf(stru.ch));

//Debug.LogError("StructA的长度:" + Marshal.SizeOf(stru));

unsafe

{

Debug.LogError("StructA的长度:" + sizeof(StructA));

Debug.LogError("StructB的长度:" + sizeof(StructB));

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值