Thus I am once again suggesting implementing the entire CoreBase in Objective-C and layer it above Base - that will save us all that hassle and can survive future Base changes if compiled with non-fragile ABI support.
发自我的 iPhone 在 2013-3-12,1:07,David Chisnall <david.chisn...@cl.cam.ac.uk> 写道: > On 11 Mar 2013, at 16:33, Stefan Bidi <stefanb...@gmail.com> wrote: > >> You can just treat NSConstantString as an ObjC-only class and call the >> appropriate methods. That's how this should work now, but I haven't >> really spent a lot of time testing it. >> >> CFGetTypeID() is a complete hack, right now. The code checks for >> cf->_typeID no matter what, and if doesn't match what the system >> thinks it should be calls the method -_cfTypeID, which in turn returns >> _kCFRuntimeNotATypeID for none CF types. > > As I recall, on OS X the isa pointer for bridged types contains the typeid. > The Objective-C runtime has some extra logic that checks if the isa pointer > is <= 0xffff and, if so, looks up the class from a table. The open source > CFLite stuff doesn't have this. > > David > > > _______________________________________________ > Gnustep-dev mailing list > Gnustep-dev@gnu.org > https://lists.gnu.org/mailman/listinfo/gnustep-dev _______________________________________________ Gnustep-dev mailing list Gnustep-dev@gnu.org https://lists.gnu.org/mailman/listinfo/gnustep-dev