FINALLY! SOME UPDATES! This website is being reconstructed. Some content will go away soon. If you want to see my new stuff, visit my github: https://github.com/jrcharney/.

new_c.sh : A programmers' Swiss Army Knife.

About this project

new_c.sh is one of the most complex shell scripts I have every written. It's probably because it does everything. (Well, not everything. Just the important stuff.) It generates, compiles, archives, links, and debugs all on one shell script. It is a script so good I wish I had it 10 years ago when I started writing C/C++ while earning my degree in Computer Science. And should be a must have for anyone study Computer Science, Data Science, Computer Engineering, or anyone else wanting to get into C or C++ programming.

Features

  • New directory creation.

  • Generation of header and source files.
  • Automatic file naming. (You have to do this manually without this script.)
  • Automatic insertion of #include files and using namespaces
  • Straightforward usage of the GCC compiler, linker, and debugger.
  • Bundling of modules using archiving (with the ar utility).
  • Support for compiling OpenGL files. (Soon.)
  • Objective-C/C++ for Mac Users (Eventually.)

History

new_c.sh started out as part of the series of new.sh shell scripts. Because I use C++ more than Java, primarily due to the fact that Java is an expensive programming language both monitarily and in resource consumption, C++ continues to be my perefered language.

So I wrote up a script that does all the things I would usually do if I were to write my code.

I created a compose function that used a function that created new folders to define a new path for projects. I created a composition function that would include the #include files and use namespaces. The composition file would also generate the complementary header or source file that would be used to create modules.

I created a compiler function that knew whether to use gcc or g++ and well as whether or not to link simple programs in a single command.

I created an archive function that bundled modules together into a single archive for quicker linking and storage.

I created a linker function that didn't need -Wl--start-group and -Wl--end-group especially since the shorthand -Wl-( and -Wl-) don't work like they should.

I created a debugging function that just needed to run to work.

In short, I've made C/C++ programming more intuitive. Other than the Jill project, this is one of my most crowing programming achievements.

And best of all, it is FREE to download.

What advice would you give to new programmers?

I would advise anyone who uses Linux, BSD, Darwin (on MacOS X), Cygwin or Mingw (on Windows) to please try it out. Let me know if there is anything else that I need to do to it.

I assure you that using this script will be so much better than using any GUI based program.

If you want to learn how to code and do awesome things with the computer: 1. use a Linux/UNIX-based text console, 2. Learn how to use Vim, 3. Use new_c.sh!

Downloads

File Version Date Notes
new_c.sh 2.4a 27 Jul 2012
new_c.sh 2.3a 10 Jul 2012 Obsolete.
new_c.sh 2.2a 10 Jul 2012 Obsolete.
new_c.sh 1.0a 19 Jun 2012 Obsolete.
new_c.sh 0.1a 29 Apr 2012 Obsolete.

Tags

Under Construction