I think this topic was already discussed but I’ve tested a little
the development environment of qnx rtos , these are only
considerations.
The first thing: the gcc2.95.2 is a relatively “old” compiler and has
many known bugs. It has MANY optimization problems and many problems
with c++. It would be nice in the next rtos release to have at leat
the 2.95.3 or the 2.96 from redhat, since gcc3 is unusable at the
moment.
Some c++ problems are now fixed using the more compliant and very
nice dinkum c++ library, but the gcc produce however huge
executables (when using some stl templates, like strings and vectors
the code becomes ten times bigger).
Even using the -g for debugging the executables become 100 times
bigger then a normal c executable (!)
Using c++ for producing small executables is effectively a problem.
Also, when using OPTIMIZE_TYPE=something in the makefiles, switching
from SIZE to TIME will not change anything (the optimization flag
passed to the compiler seems to be always -O). When setting
OPTIMIZE_TYPE to NONE, instead, the size of the executable becomes
smaller than ever, and it’s the ONLY way to debug the code (why this?
on linux I can set -O3 -g and debug any c++ code without a problem,
in neutrino it’s pratically impossible, I get unknown lines and so on).
It’s planned to do something to fix these issues in the next release
of qnx rtos?