offset宏定义_vba left函数

offset宏定义_vba left函数最近做某项目撸代码时用到了offsetof宏,第一次使用这个宏,项目结束后对其用法也略知一二,现分享如下。位于stddef.h中的offsetof()宏,是获得struct中某成员相对于struct首地址的偏移量,以byte为单位,用struct首地址加该偏移量获得该成员的实际地址时,要把struct首地址强制转换成以byte为计数单位,地址本身一般都是32位(与芯片架构有关),强制转换的计数单位…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

最近做某项目撸代码时用到了offsetof宏,第一次使用这个宏,项目结束后对其用法也略知一二,现分享如下。

位于stddef.h中的offsetof()宏,是获得struct中某成员相对于struct首地址的偏移量,以byte为单位,用struct首地址加该偏移量获得该成员的实际地址时,要把struct首地址强制转换成以byte为计数单位,地址本身一般都是32位(与芯片架构有关),强制转换的计数单位不会影响地址本身,该计数单位是告诉程序,对地址做运算时,偏移量是以该计数单位为单位的。比如,此处偏移量是以byte为单位的,故将struct首地址强制转换成以byte为计数单位,若将struct首地址强制转换成以2byte为计数单位,则该首地址与偏移量做运算时,将一个偏移量认为是2byte长度,这就导致计算出的成员实际地址有误,甚至超出分配给变量的地址的范围,导致Data Abort Exception,当然,这只是导致Data AbortException的一类原因。

*(u16 *)((u16 *)((u8 *)&ScrPara+s32)+c8)=i8;

用一个成员的实际地址去计算另一成员的实际地址时也要注意对第一个成员实际地址的计数单位的强制转换,此处是根据成员的size来决定的,若所有成员的size都是byte,则强制转换为byte,若size都是2byte,则强制转换为2byte,以此类推。若各种size都有,则强制转换为byte,避免引起混乱。

*(u16 *)((u16 *)((u8*)&ScrPara+s32)+c8)=i8;

以上各种地址,操作其内放的值时也要对地址进行一次计强制转换,该强制转换是与其内放的值的size相同。注意此处我没用“计数单位”这四个字,因为此处的强制转换不再是计数单位,而是其内放的值的size。若此时强制转换为byte,而值的size大于1个byte,则首先访问低位的byte。

*(u16 *)((u16 *)((u8*)&ScrPara+s32)+c8)=i16;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/172091.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • POJ 3177 Redundant Paths POJ 3352 Road Construction(双连接)

    POJ 3177 Redundant Paths POJ 3352 Road Construction(双连接)

    2022年1月13日
    41
  • 在乌镇拼命“洗白”的拼多多

    在乌镇拼命“洗白”的拼多多“虽然我们没为别人拼过命,但是一定为别人拼过多多。“以往冬初的乌镇世界互联网大会,刘强东往往会穿着显腰瘦的西服出现,不过今年没出现,倒是友商拼多多的创始人黄峥,来了。黄峥…

    2022年5月26日
    39
  • RDLC报表开发_rdp报表 视频教程

    RDLC报表开发_rdp报表 视频教程【C#重构】VS2017中没有rdlc(报表设计器)(2)https://blog.csdn.net/MyxZxd/article/details/89847111步骤https://www.cnblogs.com/cuichaohui/p/9364439.html转载于:https://www.cnblogs.com/zuochencun/p/11351881.html…

    2022年10月8日
    0
  • 学计算机的男生喜欢什么样的女生,it男喜欢什么样的女孩

    学计算机的男生喜欢什么样的女生,it男喜欢什么样的女孩喜欢什么样的女孩子每个男生的定义都不一样,有些男生更喜欢性感魅惑的御姐范儿气质,当然,也有很多男生偏向甜美可爱风格的。那么it男喜欢什么样的女孩子呢?来源:图虫作者:79054344888189459虽然很多花心的男生喜欢的女孩子的类型是不固定的,而且一般都是见一个爱一个的,但实际上很多男生的心里对于自己喜欢的女孩子的类型是很清楚的,所以就算有女生喜欢他们,他们也不反感,但是接受却是一件困难的事情…

    2022年7月25日
    19
  • 解密excel文件打开密码「建议收藏」

    解密excel文件打开密码「建议收藏」excel文件带有打开密码,忘记了密码或者是不知道密码的情况下,想要打开文件是需要解密工具帮助的,因为需要找到正确的密码才能够打开文件,其他方法好像还没办法成功解决文件打开密码。解密工具:【EXCEL解密大师】快速找回密码_轻松移除使用限制-奥凯丰okfone打开软件,选择【找回密码】功能,将文件添加进去,选择一个找回方法,点击【开始】之后等待软件找回密码关于找回方法:组合激活成功教程、掩码激活成功教程:适用于可以提供密码信息的情况,这两种方法可以根据密码信息更快速的找回密码,六位数及一下的密码,十分钟

    2022年6月28日
    25
  • Oracle Client(客户端) 安装与配置「建议收藏」

    Oracle Client(客户端) 安装与配置「建议收藏」因为工作需要,需要通过本地oracle客户端将数据导入到远程服务器上的oracle数据库中。从csdn下了很多oracle客户端,都是属于精简版,缺少imp.exe文件,造成无法导入数据。所以最终从o

    2022年7月1日
    43

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号