windows - Meaning of options in mingw-w64 installer -
in mingw-w64 online installer there several fields can select. cannot find documentation on this, , guesses i've made don't give me behaviour want.
clearly lot of work has gone project seems pity uptake being held lack of basic documentation.
the "version" , "architecture" fields self-explanatory other fields have trouble (values shown of current installer):
- threads, options
posix
,win32
- exception, options
dwarf
,sjlj
- build revision, options
0
,1
,2
.
the values chose on previous install win32
, seh
, 1
(clearly options have changed since none wiser what's what).
what pros , cons of each option, threading model , exception handling, , version "best"?
the specific problems have encountered using x86_64-win32-seh-rev1
are:
std::thread
,std::condition_variable
not supported- when debugging (using code::blocks ide), if exception thrown not jump exception handler; selecting next line nothing 3 times , aborts run.
i can cope debugging problem nice have working c++11 threads.
exceptions
please see this answer 3 models (dwarf, sjlj , seh).
threads
you can decide kind of threads want use: posix threads or windows api threads. posix threads have advantage of portability; can use code on other posix platforms (eg. linux) without modifications. win32 threading api windows only. if 100% on windows , it's api that's no problem though.
if use new c++ features std::thread
impact less visible since have standard api threading. i'm not sure if there's big difference if don't use posix- / win32 thread api directly (maybe std::thread
native handles?)
see also: mingw-w64 threads: posix vs win32
build revision
i guess that's version number since mingw(-w64) follows gcc versions (4.8.x, 4.9.x etc.). if don't need specific build, should use latest version.
threading issue
if exception thrown is:
terminate called after throwing instance of 'std::system_error' what(): enable multithreading use std::thread: operation not permitted
then link pthreads - , problem solved.
recommendation
if don't have reasons use specific option; personal recommendation:
posix - dwarf - 2
- posix enable c++11
<thread>
,<mutex>
,<future>
- dwarf faster
- 2 because it's latest release
Comments
Post a Comment