Parameter value in the mingw-w64 installer

The MinGW-W64 online installer has several fields that you can select. However, I cannot find documentation on this subject, and the assumptions I have made do not give me the behavior I want.

Obviously, a lot of work has come into this project, so it seems a pity that the takeover is being held back due to the lack of basic documentation.

The "Version" and "Architecture" fields do not require explanation, but in other areas that I have encountered, there are (values ​​shown by the current installer):

  • Topics , posix and win32 options
  • Exception , dwarf and sjlj
  • Build version , parameters 0 , 1 , 2 .

The values ​​that I selected during the previous installation were win32 , seh and 1 (obviously, the parameters have changed since then, but I'm no wiser about that).

What are the pros and cons of each option, especially the streaming and exception handling model, and which version is “best”?

The specific problems I encountered with x86_64-win32-seh-rev1 are:

  • std::thread and std::condition_variable not supported
  • When debugging (using Code :: Blocks as an IDE), if an exception is thrown, it does not jump to the exception handler; selecting the next line does nothing 3 times, and then cancels the run.

I can handle the debugging problem, but it would be nice to have C ++ 11 workflows.

+33
windows g ++ mingw-w64
Apr 29 '15 at 14:52
source share
3 answers

Exceptions

See this answer for all three models (dwarf, sjlj and seh) .

Topics

You can decide which streams you want to use: POSIX streams or Windows API streams. Feasible threads have the advantage of portability; you can use your code on other posix platforms (e.g. linux) without changes. In win32 threading api only windows. If you are 100% on windows and, like api, nothing is a problem.

If you use new C ++ functions such as std::thread , the effect becomes less noticeable since you already have a standard api for streaming. I'm not sure if there really is a big difference if you are not using the posix- / win32 api file directly (maybe std::thread native handles?)

See also: mingw-w64 themes: posix vs win32

Build version

I assume that there is only one version number, since Mingw (-w64) follows GCC versions (4.8.x, 4.9.x, etc.). If you do not need a specific assembly, you should use the latest version.

Problem with threads

If an exception is thrown:

 terminate called after throwing an instance of 'std::system_error' what(): Enable multithreading to use std::thread: Operation not permitted 

then just a pthreads link - and the problem is resolved.




Recommendation

If you have no reason to use a specific option; my personal recommendation:

 posix - dwarf - 2 
  • Posix include C ++ 11 <thread> , <mutex> and <future>
  • dwarf faster
  • 2 because this is the latest version
+18
May 11 '15 at 22:28
source share
— -

I think I will take posix. I do not see version 2, so this has already changed ...: P

Then see what happens if I test my program in 24 hours or so to make sure it works. You find yourself in a binary tree of difficulties. From one thing, you get three problems. Then each problem gives you three new problems, that is, how they create a trap for performing any tasks. Each commercial company works this way and works together. They fly around the world to talk privately about how to do this. Earn.

And if that doesn't work, I return to the jungle. Look for a magic wand that will make this possible.

This is all shit.

(Computer expert).

-one
Dec 17 '18 at 23:30
source share

This is the jungle. They are created specifically to allow us to participate in this. So large companies (that use / steal everything from the open source community) can only do this. They also infiltrate the open source community to change something so that only they know how to handle it. They think commercially. Loners can no longer cope with everything, they (very hidden) change things, so you can no longer keep track of all the changes. Since they have many experts, they run around forums and open source to spoil things, complicate them, etc., by removing pages from the Internet with information on how to do something. Each guide is misleading, etc. Etc. Etc. Its everywhere, even in your head. Thinking that you control computers / software, they put you in the wrong foot. It is about destroying your programs so that they cannot work in the future. If you achieve something good, they will do and change things so that you cannot follow the changes. Nothing works like before or how it should work. This is just one of the many problems you encounter when developing software on your own. Only large commercial companies that steal and spoil things like ffmpeg so that your video player no longer works, and your libraries are not updated to newer versions, etc., can handle the changes they made themselves. We all get fucked, even open source Linux is corrupted, so instead of clicking a button, you run through the jungle that they created. If you are not an Indian who knows this jungle, and you don’t have a big sharp knife (money), you will run out of pain in the ass.

They allow us to run in circles. At the most detailed level, they corrupt the open source community because they want to play for God and sell programs that work.

Do you want to make software for Windows? You must make a deal with Microsoft, otherwise they will damage Windows, so your program will no longer work.

Do you want more of this plot shit? Infiltrate large companies, act as if you are a sociopath like them, and they will tell you how to do it.

They have thousands of trolls running around the Internet, corrupting things for you and me, and giving you answers to questions about how to do this, they just make you busy.

While you are running in the jungle of shells, unreadable scripts, problems with slash / backslash, compilers, 32/64 bit, OS, processors, etc. Etc. Etc. Etc., They make big money,

In the end, many nerds are disappointed in programming because they are tired of it, only fools run in the jungle.

I'm such a fool ... I just keep running, hitting muskitos, snakes, lions, blood-sucking creatures, fleshy plants, etc.

You only need to set fire to the jungle, plow the land and build a beautiful farm without the sociopaths who follow only the money.

They also have to hang Bill Gates for balls. He is the best example and not only penetrated into 95% of all computers in the world, he is even in the minds of all window users.

In the end, they only create software, develop software, develop software, etc. Programming costs account for 90% of corrupted open source code and all the crap, only 10% of programming. You work 1 hour in your program, but 9 hours for all the crap, just to be able to do it.

This is a ruined world. Sorry for my depressing story,

But you all fuck in the ass, not knowing, and Illuminati millionaires laugh in your face, fucking you in the ass.

Like a manner of speaking. They are in the hair vessels of everything.

Goodbye. Have some fun. I have seen ten thousand such problems. Why do you think they can no longer go to the moon? Because everything is made complicated, and if you want, you have to pay them. They own everything, even your girlfriend.

But you do not want to know all this.

-2
Dec 17 '18 at 23:23
source share



All Articles