相关文章  
  • 浅谈如何利用BartPE创建PE工具盘
  • Windows Mobile 2003 Second Edition 中 ActiveSync 编程模型的增强功能
  • 在完成所有绑定后仍然有许多要进行的操作
  • 在你的企业中管理Windows和应用程序
  • 动态加载用户控件的组件
  • 小心GDI+资源泄漏 -- 猜想 测试 应对全过程
  • 浅谈 C# 中的代码协同 (Coroutine) 执行支持
  • Internet Explorer 中编辑 OLE 嵌入文档
  • 教你通过 Emit 实现动态生成一个类
  • 如何才能在10046event自由漫步
  •   推荐  
      科普之友首页   专利     科普      动物      植物        天文   考古   前沿科技
     您现在的位置在:  首页 >>文献 >>培训

    在 C# 中处理结构内的数组源代码分析1


      在 C/C++ 代码中,大量掺杂着包括普通类型和数组的结构,如定义 PE 文件头结构的 IMAGE_OPTIONAL_HEADER 结构定义如下:
      
      以下内容为程序代码:
      
      typedef struct _IMAGE_DATA_DIRECTORY {
      DWORD  VirtualAddress;
      DWORD  Size;
      } IMAGE_DATA_DIRECTORY, *PIMAGE_DATA_DIRECTORY;
      
      #define IMAGE_NUMBEROF_DIRECTORY_ENTRIES  16
      
      typedef struct _IMAGE_OPTIONAL_HEADER {
      
      WORD  Magic;
      
      //...
      
      DWORD  NumberOfRvaAndSizes;
      IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES];
      
      } IMAGE_OPTIONAL_HEADER32, *PIMAGE_OPTIONAL_HEADER32;
      
      在 C/C++ 中这样在结构中使用数组是完全正确的,因为这些数组将作为整个结构的一部分,在对结构操作时直接访问结构所在内存块。但在 C# 这类语言中,则无法直接如此使用,因为数组是作为一种特殊的引用类型存在的,如定义:
      以下内容为程序代码:
      
      public struct IMAGE_DAT

    页码:[1] [2] [3] [4] [5] [6] [7] [8]1页、共8页

         

          设为首页       |       加入收藏       |       广告服务       |       友情链接       |       版权申明      

    Copyriht 2007 - 2008 ©  科普之友 All right reserved