0

Life after CS50:

I want to continue using all the skills/tools from CS50, but now need to compile/run/debug programs outside of the CS50 appliance on my native Mac. I've been trying and trying to figure this out -- eventually settling on Xcode6, but cannot figure out how to run gdb or it's analog.

Can someone please give me a run-down explanation on how to continue C Programming (compiling/running programs/debugging) in a native Mac environment. I'm open to new suggestions, but I just need something holistic -- putting pieces together here and there hasn't worked so far.

Thanks.

5
  • Dan any reason you want to continue specifically in C?
    – lethaljd
    Jan 13 '15 at 3:05
  • No real reason. I just wanted to make a simple program that would loop through a number of picture files I had in a folder on my desktop and convert the .JPG to .jpg and thought since I had a lot of experience with C I would do it that way. Jan 13 '15 at 4:14
  • I also found some code and a great library for C that would help me do so. keramida.wordpress.com/2009/07/05/… Jan 13 '15 at 4:15
  • I use CodeRunner from the Mac Store but it is not free. See link here: coderunnerapp.com Jan 13 '15 at 11:52
  • macobserver.com/tmo/article/…
    – lethaljd
    Jan 13 '15 at 12:46
1

This is how to go about it :

(Compiler/Editor/Debugger choices are often matters of strong personal opinion, so feel free to choose you own if you find any that appeal more to you)

  • Use the Clang compiler. If you have installed XCode, then it's likely already installed on your Mac. You can also install it independently, but commands like make, etc, come along with XCode.
  • Use Visual Studio Code or Sublime as your text editor. I recommend it over XCode.
  • Use LLDB for your debugger.

However, the above may (especially LLDB) require some re-learning for someone coming from the CS50-Linux environment with GCC & GDB.

In such cases, you may install and use GCC or GDB on your Mac, but that's not something I find easy enough to suggest.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .