This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: GCC - Access denied


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]