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 andusing 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. |