你们大多数人可能会有这样一个API大全(说是大全,其实内容很少).我还没接触win开发的时候,看到这东西也非常懵逼…这个HWND到底是啥我也不知道… 如果说要我给出一个最简单的办法.那就是来一份windows数据类型跟易语言类型的类型转换.这样新手就不会害怕参数列表这些看不懂的参数名了. 我也这样想过,但是不太现实…鬼知道微软这狗儿子到底定义了多少这种玩意 所以,我会教给你们.如何把这些东西,翻译成易语言的数据类型. 指针网上讲的很多很多.但是对于易语言学习者来说.看懂…是个麻烦事,因为全是C或者C++的代码 所以转开这章节.来讲指针 在计算机科学中,指针( Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的内存单元。[1] 在 高级语言中,指针有效地取代了在低级语言,如汇编语言与机器码,直接使用通用暂存器的地方,但它可能只适用于合法地址之中。指针参考了存储器中某个地址,通过被称为反参考指针的动作,可以取出在那个地址中存储的值。作个比喻,假设将电脑存储器当成一本书,一张内容记录了某个页码加上行号的便利贴,可以被当成是一个指向特定页面的指针;根据便利粘贴面的页码与行号,翻到那个页面,把那个页面的那一行文字读出来,就相当于是对这个指针进行反参考的动作。 节选度娘百科 首先得知道内存是什么样子的.为了通俗易懂.某些不重要的东西直接跳过 这个就是内存大概的样子了.定义整数型变量A.值为12345678,他也许在内存中就是这样存储的 易语言整数型占用4个字节.你可以理解为第一个字节是12.第二个是34.以此类推.如果A的值为12.也许内存中就是00 00 00 12 当然,实际存储完全不是这样.但是为了方便理解,你可以认为是这样.如果需要谈起究竟.可以考虑买本计算机原理 定义这个整数型之后,你想使用.其实就是读出这4个字节的值而已 比如整数型a=a+1 其实就是把这12345678取出来.然后+1 最后放回到这块内存中 也就是变成了 12 34 56 79 那指针是什么.我想你也许听过很多次,说指针就是指向该地址的一个变量. 不过这样说太难理解了.教你们点特别骚的东西 指针,你可以当做是一个手指.让后指在这个地方.like this 指针会指向这个变量在内存中的地址.如果这块内存是1000的话.那么指针就一直指着1000. OK.这点搞懂后,继续理解指针本身.初学者懵逼的地方要来了 指针指向的地址.变量.和其本身的区别是一个容易懵逼的点 其实指针本身.也是一个变量,他跟上面一个变量a其实是一样.在内存的某个地方分配,然后占用地盘. 变量a的内容是12345678.指针b指向了a.那么b在内存中的内容.其实就是1000 其实很简单.你完全可以把指针跟易语言的整数型当成一个玩意 A里面存的是你实际需要用到的数据. B存的是A的地址. 当你需要的时候,你完全可以从B里面取出A的地址.然后导航到A所在的内存.去改写这块地址的内容.然后A就被改写了 你直接用A的话.他会把A这块地址的内容提取出来.然后提供给你修改. 如果看到这里你能理解的话那就太好了.等我做驱动开发做烦了我就找个讲师的工作 来定义一个字符型变量.好吧,是字节型. 一个字节型.占用一个字节. 整数型,占用4个字节. 指针,在32位系统上,占用4个字节. 其他类型我下一章会讲.不急 定义字节型变量C.然后用B指向C 此时.B依旧占用4个字节而不是一个字节.因为.B是个指针,他只是指向一个内存地址而已.架设C的地址为2000 那么B的内容就为2000.当你用指针导航过去以后.C只占用了一个字节.但是指针本身是4个字节. 也就是说.无论你占用了多少内存.哪怕你占用32个G.指针永远只是指向这个地址.占用4个字节而已(32位下4个.64位8个.但是易语言不能编译64位程序) OK.看到这里,如果你搞懂了.清楚了.那么我的任务就完成了 部分没搞懂.直接回复就好.我会给予讲解 完全没看懂…那我也帮不了你呀,我也很绝望呀.这玩意大学教授也很难讲,指针想讲清楚是需要大量的知识铺垫的. 你只需要大概理解这个东西即可.我们虽然避不过去指针,但是可以回避底层原理.
|