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解析器和代码生成器。
看到我的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