• C#中Pinvoke的使用2


    1, 关于指针,如果参数是(数组)指针,可以考虑用IntPtr,具体使用如下
          new IntPtr(pxx)
          注意,按照意义,传递指针是为了改变指针指向地址的内容,而不是指针本身的内容,所以ref是不必要,除非你想改变指针本身。
          (如果使用了ref,会直接崩溃,从这个现象上看,ref还是将变量变换成了指针之后然后再传递给了访问函数)
    2,关于常规类型的指针,可以直接使用ref引用,而不必使用IntPtr
    3,类型长度的对应,比如C++中,long是32位,而在C#中long是64位,所以不要简单替换,
         如果刚巧又是指针形式出现,很容易发生System.AccessViolationException 内存越界访问

  • 相关阅读:
    java中的lamda表达式
    Arrays.sort()中Lambda表达式
    检索中的函数及不同范围的处理
    2014.6.24
    2014.6.23
    第六天培训
    第五天培训
    第四天培训
    第三天培训!
    第二天培训
  • 原文地址:https://www.cnblogs.com/kevinzhwl/p/1815799.html
Copyright © 2020-2023  润新知