先说一下易语言的变量储存机制

易语言有基本数据类型和复合数据类型两种
基本数据类型包括:1. 各种整数 2.各种浮点 3. 逻辑值
他们都是储存在栈上的 大小都是固定的 用不着取

复合类型一般储存在堆上 然后在栈上储存堆上数据的引用
其中有几种比较特殊:字符串 字节集 数组
这两种类型的大小虽然储存在堆上的某个地方
但都有专门的取大小函数 直接调用即可

剩下就是自定义数据类型 比如类或者结构
特别是类 类的数据成员都是私有的
假如你想知道别人写的一个模块里一个类的大小
不可能通过数数据成员的方法得到
那如何取到呢?有人可能提出用“取变量地址”这个函数
可惜的是 “取变量地址”取到的永远是栈上的地址

根据上面所说 栈上地址的内容就是堆上地址
但是易语言没有一个用指针取整数的函数
这就需要用一个系统api:RtlMoveMemory
这个函数跟c语言memcpy的功能一样 但是有了他问题就变得容易的多
声明一个整形变量a  ls是一个自定义的类或者结构
RtlMoveMemory (取变量地址 (a), 取变量地址 (LS), 4)
这样a储存的就是ls在堆区的地址

之后用到一个api:LocalSize
我们都知道堆区内存分配必然用到LocalAlloc/GlobalAlloc
那么也能通过LocalSize取到大小
调试输出 (LocalSize (a))
之后这样输出的就是ls的大小

当然 相同的数据类型 大小肯定是不变的
每次需要的时候不用都取
取一次之后当常数用就好了

易语言 取自定义数据类型的大小相关推荐

  1. 易语言数据类型与c 对照,易语言利用自定义数据类型和数组. 制作键对值操作类/内存配置...

    易语言利用自定义数据类型和数组.  制作键对值操作类/内存配置.版本 2 .支持库 spec .子程序 _临时子程序 .局部变量 test, classKeyValue .局部变量 局_取值方法2,  ...

  2. 易语言调用c 自定义数据类型,跟我入门易语言 14 自定义数据类型

    自定义数据类型是一种特殊的数据类型,它与我们之前学习过的常见数据类型不同,我们自己也可以自己创建数据类型!一个自定义类型可以由许多成员组成,每一个成员可以是各种常见数据类型,甚至一个自定义数据类型中还 ...

  3. 易语言自定义数据类型转c,一步一步跟我学易语言之自定义数据类型

    自定义数据类型 什么是"自定义数据类型"?顾名思义,就是用户可以随时在程序中自行定义新的数据类型.自定义数据类型时需要设置数据类型的名称及其成员.数据类型成员各属性的设置方法等同于 ...

  4. 易语言取物理网卡MAC特征字

    易语言取物理网卡MAC转化为特征字,采用了VB.CMD.汇编等等方法. 1.取本机网卡物理地址() 2.取本机所有网卡物理地址 3.CMD取网卡物理地址 4.VB取网卡物理地址 5.汇编取网卡物理地址 ...

  5. 玩转C语言之自定义数据类型-typedef

    玩转C语言之自定义数据类型-typedef 1 引言 引言:在C语言中没有提供字节类型,如果在工程中需要使用表示字节的变量时,该怎么办呢? 我们知道 1 个字节占用 8 个二进制位空间,解决这个问题的 ...

  6. 易语言服务器取cookie,易语言取设COOKIES的代码

    易语言取设COOKIES的代码 开发WEB软件不可以缺少的源码,不管是WEB填表还是HTTP协议,都可以使用. .版本 2 .局部变量 cookie, 文本型 .局部变量 len ' 登录成功以后进行 ...

  7. 易语言json置入_易语言取置JSON文本使用方法-易语言学习-猴子技术宅

    什么是JSON? JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度. JSON到底是什么? JSON就是一串字符串 只 ...

  8. 易语言取linux命令返回值,易语言取程序返回值写法

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:易语言取程序返回值写法回答:在易语言中,程序包括"处理程序"都有六部分组成.一.程序名,就是程序的名称,程序名不 ...

  9. 易语言取java路径模块_易语言API模块制作进程取程序路径

    易语言API模块制作进程取程序路径,提高进程的PID获取程序的所在路径. 进程_取程序路径 1.CreateToolhelp32Snapshot 快照句柄 = CreateToolhelp32Snap ...

最新文章

  1. 正式入住博客园----附07年写的短评,虽然稚嫩但已实现,那年我大三。
  2. java 字符码查询_Java URL查询字符串参数的编码
  3. [js] fetch和axios请求的原理都是基于XMLHttpRerequst吗?
  4. java读excel乱码,【java 项目中,上传的excel打开时无法正常打开,显示乱码 ,怎样可以正常打开,】java读取excel乱码...
  5. 数据预处理-数据规约-属性规约
  6. Junit4集成到Maven工程
  7. 【短语学习】out of the box的含义和翻译
  8. python如何加密_Python如何玩转数据加密?
  9. LeetCode—2.堆排序算法
  10. MD5算法的C++实现
  11. Crackme 23
  12. 新装linux系统没有网卡驱动的解决方法
  13. 国际版链克口袋 获取方法
  14. MongoDB ODM
  15. 单页面网站优化技巧有哪些?
  16. 使用Python查看sqlite3表结构
  17. 【云原生网关】Kong 使用详解
  18. java面向对象高级特性 ---接口案例(学校中有教师和学生两类人,而在职研究生既是教师又是学生)
  19. B2B2C分销商城系统,带进货模块,二级分销商城Java系统源码
  20. web--拉灯泡切换黑天与白夜的精美动画

热门文章

  1. Python显示文本
  2. 使用VS2015的Visual Studio Installer打包
  3. php判断值是否为空然后定义,判断php变量是不是定义,是否为空
  4. 2个recordset合并_史上最全!8种办法玩转Excel文字合并,总有一款适合你!
  5. 关于Python ord()和chr()返回ASCII码和Unicode码的看法
  6. php跳过代码,PHP利用continue实现跳过本次循环中剩余代码的注意点
  7. 【LeetCode】【HOT】141. 环形链表(快慢指针)
  8. 二分法解决力扣374.猜数字大小 C语言
  9. python 用selenium自动启动百度并搜索关键词
  10. [HAOI 2010]订货