- 主题:Rust可以用来开发安卓自身了
你是大牛,你说什么就是什么
【 在 xiaoju 的大作中提到: 】
: 你对objc的理解也不对,objc核心是一个跨语言的二进制abi,在安卓架构里对应jvm
: 任何GUI系统都依赖于对象abi中间层,安卓是jvm对象,苹果是nsobject,微软是dcom。
: 苹果的objc的目标是实现nsobject对象,和C/C++这种把OOP退化编译成native的思路很不一样
: ...................
--
FROM 27.208.36.*
xcrun -sdk iphoneos clang -rewrite-objc -arch arm64 main.m -o main.c
【 在 xiaoju 的大作中提到: 】
: 你懒得读文档,我帮你搬
:
--
FROM 27.208.36.*
我用C实现的多继承对象也是动态发消息,而我是通过汇编实现的动态发消息,只是不同的实现机制而已,没什么奇怪的。我在C库里可以无缝衔接的调用.m文件里写的C函数,反过来在.m文件里也可以无缝衔接的调用C文件里的函数,完全不用导出函数或者查函数表之类的操作,显而易见objc就是类似C的宏扩展,而C++却需要导出函数才能与C之间互相调用,java就更麻烦了,要通过动态查函数表才能互相调用
【 在 leadu 的大作中提到: 】
: objc的成员函数调用是发消息,是个动态过程,性能比c是有下降的
:
--
修改:smthxes FROM 27.208.36.*
FROM 27.208.36.*
能用中文表达为什么非得整出一些英文词出来,是想显得你的知识很高深吗?
我就想告诉你们objc就是类似C的宏扩展,本质上就是C,至于发消息就看他用什么样的机制实现了,像gtk与qt发信号的机制就是通过简单的回调函数实现的,没有任何性能损失,虽然我不知道objc发消息的机制,但是通过预编译可以很容易用回调函数来实现,C的宏扩展也可以实现类似操作,但是往往开发者没有统一的编码规范,几乎没有可读性
【 在 leadu 的大作中提到: 】
: Interoperability和Performance是两个东西,别混在一起
:
--
修改:smthxes FROM 27.208.36.*
FROM 27.208.36.*