Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Cactus Dan

macrumors member
Original poster
Aug 8, 2010
30
0
Howdy,

Well, in my quest for knowledge, I've seen several threads on various forums where there's a discussion of wrapping C++ to Cocoa to be able to create C++ GUI applications on Mac OS. Most of the answers pointed to using Cocoa for the GUI parts (possibly Objective-C++ with .mm files) and C++ for the rest, but not many examples of how to actually do something like that.

I did, however, find this old thread here that gave me inspiration:
https://forums.macrumors.com/threads/246143/
... and got the ball rolling.

According to the Application Kit Framework Reference:
https://developer.apple.com/library...ssic/_index.html#//apple_ref/doc/uid/20001093

… AppKit.framework is really all you need to create a GUI application:
The Application Kit is a framework containing all the objects you need to implement your graphical, event-driven user interface: windows, panels, buttons, menus, scrollers, and text fields.

So, with that in mind, I set out to learn how to mix C++, Objective-C and OpenGL using the AppKit.framework. There isn't much information readily available for this kind of task. Most of the tutorials available for Mac programming are about Cocoa with Interface Builder, and are basically "do this, do that and bang! You're done." kind of tutorials. So, I had to really do my research to come up with a workable solution.

Here's my project so far:
http://www.cactus3d.com/CPPAppKitTest.zip

Since most of my experience is with C/C++ (started learning C on a 68K Centris 650), Objective-C is a bit foreign to me, so I tried to keep the Objective-C code to a minimum. I reckon what I'm asking is if someone could look over the code in the above project and tell me if the Objective-C code is done correctly (specifically the memory management) and possibly offer any suggestions for improvements. It seems to work fine and running it with the debugger console doesn't report any issues.

Adios,
Cactus Dan
 

Cactus Dan

macrumors member
Original poster
Aug 8, 2010
30
0
Howdy,

Hmmmm, a week later with 250+ views and no replies, is it safe to assume the Objective-C code in the project is fine? :confused:

Adios,
Cactus Dan
 

Nimbuz

macrumors newbie
Dec 5, 2009
13
0
.. or maybe you're asking at the wrong place. Try stackoverflow or some other forums where the visitors are mainly developers.
 

chown33

Moderator
Staff member
Aug 9, 2009
10,740
8,416
A sea of green
.. or maybe you're asking at the wrong place. Try stackoverflow or some other forums where the visitors are mainly developers.

Or maybe dumping an entire project and basically saying "Please review this and point out any bugs or design flaws" is asking for more than anyone is willing to do.

Also, since the OP specifically asked about memory management: There are memory tools (zombies and leaks) in Instruments that specifically address memory mgmt.
 

Cactus Dan

macrumors member
Original poster
Aug 8, 2010
30
0
Howdy,

Ah, thanks for the tip. I wasn't aware of Instruments. It works great and no memory leaks in the project. ;)

Adios,
Cactus Dan
 

oatman13

macrumors regular
Feb 14, 2013
233
72
I find this absolutely fascinating! Have you done anything new or having any new updates to share? Shoot, something like this should be placed into GIT and a team should be assembled to work on it. I absolutely love it!
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.