04-05-2009, 12:14 PM
As some of you may know from my other semi-related thread, I'm a Windows developer and I've set out to port my commercial Windows program
to Mac OS X. It's entirely written in C, and the overwhelming majority of the code is platform independent, and using a bunch of open source libraries for that (SDL, Allegro, DevIL, libsndfile, libmpg123..). The problem I'm facing is knowing what to replace the few Windows API calls with, and how to deal with the aspects unique to Mac OS X, e.g. the menus.
The Windows API calls consist in pretty simple stuff, such as a function to pop up an Open dialog, same for a Save dialog, a function to detect how many CPU cores we have (that one's probably in POSIX), a function to copy an image to clipboard.. My program being entirely in C, according to what I've recently read, I should aim to replace my WinAPI calls with Carbon API calls, correct? But here's the problem, I've also read that apparently Carbon is already old and being pushed out, that "it is not a good idea to write new applications using Carbon", and that you can't even build 64-bit apps with it.. Doesn't sound any good to start porting to it against all recommendations..
But on the other hand, what other choice is there? Surely a pure C program can't use Cocoa? What else is there? Or is Carbon a decent choice for the little I need?