源码介绍
日常开发中,经常要调用某些 api 函数,拷贝来拷贝去,其中不免会遇到要填写某个数据类型的结构尺寸,看 api 文档别的语言是通过 sizeof(var) 去统计某些结构体的尺寸,但是咱易语言没有。后来学到了用 LocalSize () 函数,将参数类型改为具体的数据类型去计算(每次遇到新数据类型结构就要新定义一个DLL,也很麻烦)
刚好近期消化了不少关于内存的知识,就尝试下看看,调试观察了各种各样的数据类型,大致是了解清楚了存储机制,把 sizeif 的功能搞出来了。不过有点小瑕疵,就是参数无法弄成通用型的,要额外:取指针地址(变量)传入。强制取通用型测试会异常。
提示
如果提示“找不到通用型变量”需要到精易模块源码里找取指针_通用型(),复制下里面的通用型就可以了。
易语言中的数据都是按4字节对齐的,短整数也给它分配了4字节{0,0,0,0}来储存,所以计算出来的结果要注意一下。
隐藏内容需要回复可以看见