当前位置: 首页 > article >正文

Mono里运行C#脚本7—MonoImageStorage结构解析

Mono里运行C#脚本7—MonoImageStorage结构解析

定义一个结构来保存EXE文件加载到内存的表示。
typedef struct {
    MonoRefCount ref;  //引用计数,如果这个文件引用计数为0就可以删除。

    /* key used for lookups.  owned by this image storage. */
    char *key;  //HASH的键,通过键可以快速访问。

    /* If the raw data was allocated from a source such as mmap, the allocator may store resource tracking information here. */
    void *raw_data_handle;  //使用CreateFileMappingW打开后的句柄保存在这里。
    char *raw_data;  //保存MapViewOfFile操作的指针,指向文件数据。
    guint32 raw_data_len;  //保存文件数据的长度。
    /* data was allocated with mono_file_map and must be unmapped */
    guint8 raw_buffer_used    : 1;  //是否使用mono_file_map函数打开
    /* data was allocated with malloc and must be freed


http://www.kler.cn/a/456189.html

相关文章:

  • 智能工厂的设计软件 应用场景的一个例子:为AI聊天工具添加一个知识系统 之1
  • Llama 3 后训练(三)
  • Unity游戏环境交互系统
  • VUE3+VITE简单的跨域代理配置
  • 【ES6复习笔记】Spread 扩展运算符(8)
  • 2024年前端工程师总结
  • 【Sentinel】初识Sentinel
  • 【小程序】全局配置window和tabBar
  • 在 Windows 11 下的 WSL - Ubuntu 24.04 中安装 Anaconda3
  • jmeter混合场景测试,设置多业务并发比例(吞吐量控制器)
  • 【AI日记】24.12.28 kaggle 比赛 2-16
  • uniapp实现APP、小程序与webview页面间通讯
  • IPv6 基础协议-NDP
  • Jupyter在运行上出现错误:ModuleNotFoundError: No module named ‘wordcloud‘
  • Java全栈项目实战:校园报修服务系统
  • STM32F103RCT6学习之五:ADC
  • Element Plus 日期时间选择器大于当天时间置灰
  • QT应用单例——qtsingleapplication
  • 设计模式之模板方法模式:咖啡,茶,和代码
  • 经典问题——华测
  • OpenCV相机标定与3D重建(37)计算两幅图像之间单应性矩阵(Homography Matrix)的函数findHomography()的使用
  • 【Unity3D】ECS入门学习(十一)ComponentSystem、JobComponentSystem
  • information_schema是什么?
  • Python小括号( )、中括号[ ]和大括号{}代表什么
  • 仓颉语言实战——2.名字、作用域、变量、修饰符
  • 在C#中实现事件的订阅和解除订阅