From: Danny S. <dan...@cl...> - 2007-08-18 20:42:16
|
> > Just to clarify: is it only gcc-dw2.exe, g++-dw2.exe and > gfortran-dw2.exe that should be renamed (or copied, presumably)? What > about c++-dw2.exe (which appears to be a copy of g++-dw2.exe)? cpp, > gcov? Are all the other -dw2.exe files intended to be > internal use only? > All the *-dw2.exe can have the -dw2 stipped from name. The suffix was added so that (1) The 4.2.1 binaries could coexist with the more stable gcc-3.4.5 release. (2) The dw2 and sjlj version could coexist in the same mingw-root/bin directory Instead of modifying namesyoou could alsl just modify CC, CXX etc environmental variables to designate your choice of driver. But that would only work where scrpts use the standard env variables. > My concern here is with build tools (e.g. Python distutils) that use > mingw gcc internally, but don't document precisely which > commands are used. > > > If you want sjlj you will find them (soon) in the gcc-4.2.1-sjlj-1 > > package > > For someone with no real understanding of internals, which > version would > be recommended? I read "efficient" and presumed dw2 is > better. Is that > reasonable? It's not a big issue, as I don't actually use C++ > that often > (I assume it only affects C++, based on the mention of > exceptions - is > that right?) I think that dw2 is 'better' because besides efficiency, it also has better long-term support amongst gcc developers. However, the one case where sjlj is 'better' is this C++ callback usage: #include <stdlib.h> #include <string.h> #include <stdio.h> int compare( const void *arg1, const void *arg2 ) { throw (1); return 0; } int main( ) { char buf[] = "abc.zyx"; try { qsort((void *)buf, strlen (buf), sizeof( char), compare); } catch (...) { printf ("Caught exception\n"); } return 0; } Unless qsort has been compiled with dw2 exception handling enabled, dw2 will fail, while sjlj will still work. No problem, you say, just grab a qsort from somewhere and recompile with dw2 EH ....except that the win32api doesn't know about dw2 and some usage of callbacks from win32api work like above example. >From my limited understading, _WIN64 uses a table-driven EH mechanism similar to DW2 If you don't use C++/ObjC[++]/Java/Ada exceptions, flip a coin. If you are heavily into win32 GUI C++ progs, use Microsoft compiler, because really that is what does best. Danny > > Thanks again, > Paul. > > > -------------------------------------------------------------- > ----------- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and > a browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > _______________________________________________ > MinGW-users mailing list > Min...@li... > > You may change your MinGW Account Options or unsubscribe at: > https://lists.sourceforge.net/lists/listinfo/mingw-users > |