C类在运行时从文本文件?

大家好,我有一个奇怪的问题。 我想在运行时从一个文件创建一个Objective C类。 所以例如我有一个客观的c应用程序,然后我想将它指向一个文本文件(或者一个.h.m对,无论什么作品),然后让应用程序解析文本文件并在运行时创建类(Class no目的)。 当然,我会写解析器和所有我想知道的东西是否可能。 我读了这两篇文章:

http://www.mikeash.com/pyblog/friday-qa-2010-11-6-creating-classes-at-runtime-in-objective-c.html

http://www.mikeash.com/pyblog/friday-qa-2010-11-19-creating-classes-at-runtime-for-fun-and-profit.html

其中显示了如何在运行时创建一个客观的C类,但是它使用在编译时定义的C函数完成。 如果我可以找到一种方法来使用字符串来完成相同的功能,那么我就不必在编译时定义它们。


这就是所谓的反射式编程。 我认为Obj-C没有代码评估支持,因为它不是一种脚本语言,所以Obj-C的反射概念被静静地限制了。 另外,在运行时,编译器已经将代码转换为Obj-C clang代码,并且这是一项非常耗时的工作,只是要反向转换字节码并重新编译它

对于Obj-C反射,你可以参考这些答案

  • 构建一个类:按名称创建Objective-c类实例?
  • 实现一个方法:Objective-C,我如何在另一个类中连接一个方法
  • 更改对象的类:Objective-C:如何在运行时更改对象的类?

  • 当然。 完全可能。

    我建议从Objective-C支持开始,因为它包含一个完整的Objective-C解析器和代码生成器。


    看到我的github项目可可间断器它做你想要的一部分。

    它需要一个文本文件并在运行时编译它,然后使用NSTask运行生成的可执行文件。 改变它会很容易,所以二进制文件使用NSBundle加载到自己的进程中

    https://github.com/Daij-Djan/cocoa-interpreter

    链接地址: http://www.djcxy.com/p/64717.html

    上一篇: C class at run time from a text file?

    下一篇: Getting Information for Homes on Sale : Real Estate API