首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    易语言 取自定义数据类型的大小

    先说一下易语言的变量储存机制 易语言有基本数据类型和复合数据类型两种 基本数据类型包括:1. 各种整数 2.各种浮点 3. 逻辑值 他们都是储存在栈上的 大小都是固定的 用不着取 复合类型一般储存在堆上 然后在栈上储存堆上数据的引用 其中有几种比较特殊:字符串 字节集 数组 这两种类型的大小虽然储存在堆上的某个地方 但都有专门的取大小函数 直接调用即可 剩下就是自定义数据类型 比如类或者结构 特别是类 类的数据成员都是私有的 假如你想知道别人写的一个模块里一个类的大小 不可能通过数数据成员的方法得到 那如何取到呢?有人可能提出用“取变量地址”这个函数 可惜的是 “取变量地址”取到的永远是栈上的地址 根据上面所说 栈上地址的内容就是堆上地址 但是易语言没有一个用指针取整数的函数 这就需要用一个系统api:RtlMoveMemory 这个函数跟c语言memcpy的功能一样 但是有了他问题就变得容易的多 声明一个整形变量a  ls是一个自定义的类或者结构 RtlMoveMemory (取变量地址 (a), 取变量地址 (LS), 4) 这样a储存的就是ls在堆区的地址 之后用到一个api:LocalSize 我们都知道堆区内存分配必然用到LocalAlloc/GlobalAlloc 那么也能通过LocalSize取到大小 调试输出 (LocalSize (a)) 之后这样输出的就是ls的大小 当然 相同的数据类型 大小肯定是不变的 每次需要的时候不用都取 取一次之后当常数用就好了

    02

    发布变更又快又稳?腾讯运维工程师经验首发

    导读| 如何让功能缺陷修复快速上线?版本发出问题时怎样快速回退?效率提升后质量掉队?为解决这些常让运维工程师头疼的事情,本栏目特邀腾讯知名运维工程师袁旭东,讲述对象存储COS的发布演进过程,为各位开发者提供业务通用的高效高质变更方法。该业务通过提升灰度自测能力、优化流转时间和并发策略等方法实现提效,同时提出措施保障质量,并设置了一套可度量体系保障持续监控、调优,最终带动发布变更水平上新台阶。 ‍‍‍‍‍ 背景 1)背景诉求 现网发布变更对运维开发工程师来说是最繁重的工作。发布变更的概念、节奏等已经是老生

    04
    领券