Loading color scheme

How to make your C++ app independent of Visual C++ Runtime?

If you are developing the Visual C++ apps, then probably you have stumbled upon the problem that appears once you try to transfer the app ato another computer. The app shows MSVCR100.DLL (or MSVCR71.DLL) not found error.

msvcr100.dll not found

The app is fully wonrking on your computer, so thats quite confusing. Official Microsoft documentation suggests that you install special Visual C++ redistributable component. But there are lots of versions of this component: different architecture (x86 or x64), different Visual Studio versions. etc. Sometimes these components are conflicting with each other. One version is working with one program, but needs to be reinstalled to work with another program... Quite a mess!

Fortunately enough, there is a way to fix the MSVCR100.DLL missing error without the need to install runtime. But how is it possible?

TPL_COM_CONTENT_READ_MOREHow to make your C++ app independent of Visual C++ Runtime?
How to guarantee data consistency in multi-threaded environments?

If you are working in a multi-threaded environment, sooner or later you will stumble upon the situation with data corruption or exceptions due to unsynchronized access to common variables. For example, if you modify some member variable from two threads at the same time, there will be the so-called race conditions and the data may be inconsistent. To aid such a situation, you need to use an atomic lock object. The lock object in C# protects access to the variable from the different threads. Only one thread may access data at the same time.

Let's move to an example:

TPL_COM_CONTENT_READ_MOREHow to guarantee data consistency in multi-threaded environments?
Get all interesting articles to your inbox
Please wait