C++ application development

I am very much flexible with c++.
I want to make some application on Linux using c++.

Which tool I can use? now what is the market value of C++ programming on linux field?

I would reccomend gcc and g++, GNU Make, and the Data Dump Debugger (ddd).

Most applications and backends for Linux and UNIX are written in C or C++.

1 Like

What about eclipse CDT?

What about it? I haven't found an IDE which is actually less work than doing the work myself, or one with an editor I can tolerate. And if you've never compiled anything yourself or used a makefile, most of the options in one will never make sense to you.

Using an IDE also means you'll probably be unable to work with anyone's code but your own unless you can convince them to use the same IDE as you.

Using an IDE usually multiplies the work in the long run, when you must keep updating and changing all your already-existing projects to keep up with changing versions of the products you built them with. Commercial products are particularly bad, since you're pretty much demanding that everyone you send your code to buys that commercial product. Sometimes -- often -- IDE's break compatibility with themselves and you must start over from scratch. Eventually, I decided enough was enough, ripped all the IDE junk out of my projects, and spent 5 minutes writing my own simple makefiles. Problem solved.

And the data-dump debugger gives you most of what people really want in an IDE without the baggage.

I am asking for an application to develop. Definitly it will be a project which will be a large enough. So for that I think CDT of eclipse can be used. But your explanation is expect able as IDE should be same for all the user and it creates problem on versions as well. But for an own application and maintaining it IDE should be better or not?

The larger the project, the more work must be done when you end up ripping out all the IDE garbage to re-import into a newer or different IDE.

It doesn't help as much as you think, either, if you learn what you're doing first, which I think you should do at the very least! If you've never compiled anything yourself, never used a makefile, most of the options in an IDE will never make sense. It's not like makefiles are hard. Put all these files in the same folder and run make:

// libraryfunction.c

double square(double value)
{
        return(value*value);
}
// libraryfunction.h

#ifndef __LIBRARYFUNCTION_H__
#define __LIBRARYFUNCTION_H__

extern double square(double);

#endif/*__LIBRARYFUNCTION_H__*/
//main.c
#include "libraryfunction.h"
#include <math.h>
#include <stdio.h>

int main(void)
{
        printf("%f\n", square(sin(0.5)));
        return(0);
}
# Makefile

# Built-in variable for linker, defines libraries.
LDFLAGS=-lm
# Built in variable for CC, defines compile flags
# For C++ the simlar variable CXXFLAGS is used.
CFLAGS=-ggdb

# Note the eight spaces in front is actually a tab and MUST BE a tab
myapp:main.o library.o
        $(CC) $(LDFLAGS) $^ -o $@

...and that's a complete makefile. It knows how to convert .c and .cpp files into .o files by itself, so you just make a rule which builds your application out of .o files.

Whenever your .c files are newer than your .o files it rebuilds the .o files. Whenever your .o files are newer than myapp, it rebuilds myapp.

$@ is a special variable for 'output file'. It becomes myapp.
$^ is a special variable for 'input files'. It becomes main.o library.o.

1 Like

The fact that the market for C++ developers has been so strong over the decades is testimony to the strength and versatility of the language.
If you need to showcase your abilities it is worthwhile looking for a C++ developed open source project that needs help (and most project do). In other words, it is often best to join a community rather than develop something yourself.

I have similar question and I do not want to start new thread, so I will post it here.

The underpinnings of C++ are C. Without a thorough understanding of C, C++ will never make sense.

Thank you so much corona688 for your guidance...even m doing the makefile usage....sure...

---------- Post updated at 03:33 PM ---------- Previous update was at 01:52 AM ----------

actually I know how to use makefiles and all but used for 2 to 3 modules. To make a larger like 50 to 60 modules and providing a good user interface on the project I thought of using IDE... anyways thanks. concepts got cleared now.