3 ms·
That's an OSX kernel interface, not at all related to what they called 'classic' afterward... Beside, despite the syntax sugar, it is NOWHERE near C++ at all.
by buserror 8y ago
That's an OSX kernel interface, not at all related to what they called 'classic' afterward...
Beside, despite the syntax sugar, it is NOWHERE near C++ at all. No constructors/destructor (if I remember correctly), no stack based objects, no exceptions, no virtual functions, no library, and you had to provision your classes with the right number of member function 'dummy' pointers to allow for expansion.
I've written enough OSX drivers back then to know that, quite frankly, C would have been a lot better.
- jcelerier 8y ago> No constructors/destructor (if I remember correctly), no stack based objects, no exceptions, no virtual functions, no library, and you had to provision your classes with the right number of member function 'dummy' pointers to allow for expansion. I think that you are fairly mistaken. IOKit drivers are written by inheriting from a base class and overloading virtual functions. Here's how it looks : https://developer.apple.com/library/content/documentation/Darwin/Conceptual/KEXTConcept/KEXTConceptIOKit/iokit_tutorial.html#//apple_ref/doc/uid/20002366-100120 https://developer.apple.com/library/content/documentation/Da... ; it may be not 2018 template-metaprogramming bliss, but it's fairly standard C++.