objective-c - 在运行时运行任意代码

标签 objective-c macos

我知道这是一个奇怪的问题,但我想知道这是否可能。有没有什么方法可以在运行时运行代码(由用户输入)?例如,假设我允许用户输入一些 Core Graphics 绘图代码。我希望此代码在预览 Pane 的 drawRect 方法中运行。

所以我要做的就是将这组字符串转换为实际的运行时代码。

这有可能吗,还是我只是在浪费时间?

最佳答案

我看到了一些解决方案:

  1. 创建自己的语言,并在应用程序中解析它
  2. 如果在 Mac 上,理论上您可以根据他们输入的内容创建一个函数 stub ,然后使用应用程序附带的 GCC 在运行时将代码编译成 dylib,然后使用 dylib 函数运行您创建的函数。

关于objective-c - 在运行时运行任意代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9689212/

相关文章:

objective-c - 用 block 替换委托(delegate)方法的最佳技术

macos - node.js 简单的 tcp 测试

macos - 如何重新启动 taskgated 进程?

macos - 如果 brew 没有更新,如何更新?

iphone - 如何从 AVPlayer(不是 AVAudioPlayer)获取持续时间?

ios - UITextView 字体大小未更新

ios - UICollection View 根据屏幕大小调整单元格大小

ios - 'AppDelegate' 没有可见的@interface 声明选择器 'displayMessage'

ios - 列出已安装的移动配置文件

c - 某些 OSX 会阻止对端口 80 的套接字调用,直到完成 HTTP 请求