Mail Archives: cygwin/2010/04/19/21:29:34
On 20/04/2010 02:16, Moises Deangelo wrote:
> Excuse my ignorance.
> But what's the difference between gcc-3 and gcc-4?
Rather a lot! There have been lots of improvements added to gcc since the
version 3 series, it has a whole new optimiser framework and tons of new
features, also the new -4 versions support using DLLs for all the language
support libraries rather than having to statically link them in to every
application.
For full details, take a browse through the gcc website:
http://gcc.gnu.org/releases.html
has a timeline of all the releases, with links to the pages telling you about
the changes in each new release series:
http://gcc.gnu.org/gcc-4.0/
http://gcc.gnu.org/gcc-4.1/
http://gcc.gnu.org/gcc-4.2/
http://gcc.gnu.org/gcc-4.3/
http://gcc.gnu.org/gcc-4.4/
... as you'll see by browsing those pages, gcc-3.4.4 (the gcc-3 version in the
cygwin distro) was released way back in May 2005, and all the major effort
since then has gone into gcc-4 series.
The most important points, from your angle, are probably these:
1. If you're using the -mno-cygwin flag to generate pure native windows
executables that don't use the POSIX functionality of cygwin (so don't need
the cygwin dll to run), keep using gcc-3; that feature isn't supported in the
newer gcc.
2. Executables built with the newer gcc have more dependencies on shared
libraries: apart from the cygwin dll itself, there is also a shared libgcc dll
(cyggcc_s-1.dll) and the various languages also have support libraries (e.g.
if you're using c++ your application will now need cygstdc++-6.dll to run).
So apart from that: if you aren't depending on the -mno-cygwin flag, then
use gcc-4, it's much better and has more new optimisations in it, but remember
that anyone who wants to run your app will need to have the language library
dlls installed - or use "-static" to make an app that depends only on the
cygwin dll. If you really need to make totally stand-alone windows-only exes,
stick with gcc-3, but otherwise try the newer one.
cheers,
DaveK
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
- Raw text -