RunTime-消息的拦截与替换

1、创建一个类Person

声明一个方法:- (void)talk;

2、在vc中实例化person对象   并实现:- (void)talk2;

3、实现replace函数可以将person调用的talk替换成talk2

代码如下:

- (void)replace
{
    Person *man = [[Person alloc] init];
    man.name = @"成龙";
    
    SEL original = @selector(talk);
    SEL replacement = @selector(talk2);
    
    Method a = class_getInstanceMethod([Person class], original);
    Method b = class_getInstanceMethod([self class], replacement);
    if (class_addMethod([Person class], original, method_getImplementation(b), method_getTypeEncoding(b)))
    {
        class_replaceMethod([Person class], replacement, method_getImplementation(a), method_getTypeEncoding(a));
    }
    else
    {
        method_exchangeImplementations(a, b);
    }
    
    [man talk];
}

当man调用talk时实际上执行的是vc中得talk2函数


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ONNX Runtime-GPU Linux 是基于 ONNX 运行时 (ONNX Runtime) 的版本,它针对 NVIDIA GPU 进行优化,旨在提供高性能推理加速。ONNX Runtime 是由微软和 Facebook 等公司联合开发的一个开源框架,用于在多种硬件平台上高效运行机器学习模型。 对于 Linux 用户来说,ONNX Runtime-GPU 版本可以显著提高深度学习应用的速度,特别是在对图形处理需求较高的任务上。通过利用 NVIDIA GPU 的并行计算能力,它可以加速模型的预测过程,减少延迟,并提高吞吐量。 要使用 ONNX Runtime-GPU Linux 版本,用户需要安装支持 CUDA 和 cuDNN 的 NVIDIA GPU 驱动程序,并且通常还需要安装适当的库文件如 `libnvinfer` 和 `libnvinfer-dev` 来访问 NVidia TensorRT 推理引擎,这将增强 ONNX Runtime 的性能。此外,系统还需要有 Python 开发环境,因为 ONNX Runtime 支持 Python API,允许开发者轻松集成到现有的 Python 应用中。 以下是使用 ONNX Runtime-GPU 的基本步骤: 1. **安装必要的软件包**:首先安装 CUDA 和 cuDNN 开发工具及库文件,然后安装 ONNX Runtime。具体的命令依赖于您使用的 Linux 发行版。 ```bash # 安装 CUDA and cuDNN sudo apt-get install -y cuda-utils libnvinfer-dev libnvinfer6 # 根据您的 Python 环境安装 ONNX Runtime pip install onnxruntime-gpu ``` 2. **运行示例应用程序**:ONNX Runtime 提供了一些示例应用程序帮助您开始使用,例如图像分类、语音识别等。您可以参考官方文档或 GitHub 存储库中的示例代码来了解如何加载模型并在 GPU 上执行推断。 ```python import onnxruntime # 加载 ONNX 模型 session = onnxruntime.InferenceSession("path/to/model.onnx") # 执行推断 input_name = session.get_inputs().name output_name = session.get_outputs().name result = session.run([output_name], {input_name: your_input_data}) print(result) ``` 3. **性能评估**:为了评估 GPU 的性能提升效果,可以测量在 CPU 和 GPU 上运行相同模型所需的时间。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值