Checking the LibrePCB project using PVS-Studio inside the Docker container

Checking the LibrePCB project using PVS-Studio inside the Docker container 3r38080. 3r3669.  
This is a classic article about how our team checked the open LibrePCB project with the help of the PVS-Studio static code analyzer. However, the article is interesting because the check was carried out inside the Docker container. If you are using containers, we hope that the article will demonstrate another simple way to integrate the analyzer into the development process. 3r3669.  
3r3654. LibrePCB
LibrePCB - this is free software for designing electronic circuits and printed circuit boards. The program code is written in C ++, and Qt5 is used ...
+ 0 -

How Clang Compiles a Function

 3r3308. 3r3-31. I planned to write an article about how LLVM optimizes a function, but first you need to write how Clang translates C or C ++ to LLVM.
 3r3308. How Clang Compiles a Function
 3r3308. lectures on cyclic optimization :
bool is_sorted (int * a, int n) {
for (int i = 0; i < n - 1; i++)
if (a> a[i + 1])
return false;
return true;
} 3rr989.  3r3308. Since Clang does not make any optimizations, and since LLVM IR was originally designed to work with C and C ++, the conversion is relatively easy. I will use Clang ??? (or a close version, since this one has not yet been released) on x86-64.
 3r3308. T...
+ 0 -

The amazing performance of parallel C ++ 17 algorithms. Myth or Reality?

The amazing performance of parallel C ++ 17 algorithms. Myth or Reality? 3r31192. 3r3-31. Good evening! 3r31175.  3r31192. 3r31175.  3r31192. From our course "Developer C ++" We offer you a small and interesting study about parallel algorithms. 3r31175.  3r31192. 3r31175.  3r31192. Go. 3r31175.  3r31192. 3r31175.  3r31192. With the advent of parallel algorithms in C ++ 1? you can easily update your “computational” code and get the benefit of parallel execution. In this article, I want to consider an STL algorithm that naturally uncovers the idea of ​​independent computing. Can we expect a 10-fold acceleration in the presence of a 10-core processor? Maybe more? ...
+ 0 -

Code profiling with LLVM

The Curse of Non-Determinism

Code profiling with LLVM  
My first attempt to write an LLVM pass - I love these segfolts
Recently, I ran into an interesting task - I needed a deterministic and cross-platform method for determining the execution time of C ++ code. By the word "deterministic" I mean that the same code will be executed for the same number of units of time. By cross-platform, I understand that the same code under Windows and under Ubuntu will be executed in the same amount of time units.
Naturally, the time measurement on the CPU does not satisfy these conditions. The machine code varies depending on ...[/h]
+ 0 -

ASP.NET Core 2.2 has been released. What's new? (2 of 3)

December ? came out
ASP.NET Core ???r3r36. It is included in the delivery of .NET Core 2.2. About .NET Core 2.2 i I wrote recently and now you need to open the topic in depth. Let's see what's new for us.
ASP.NET Core 2.2 has been released. What's new? (2 of 3) from the usual place and use both on your development machine and servers. New Windows Server hosting, runtime installers and binary archives for updating servers are available there.
This release is dedicated to updating 3r330. .NET Core
, ASP.NET Core and Entity Framework Core up to version ???. The new version of the SDK is ???. The following requirements for the Visual Studio version ...
.NET / C#
+ 0 -

Docker Remote API with certificate authentication with revocation checking

Problem Description
For the needs of remote control of Docker, Docker can provide web API.
This API can either not require authentication at all (which is highly discouraged), or use certificate authentication.
The problem is that native certificate authentication does not provide for certificate revocation checking. And this can have serious consequences.
I want to tell how I solved this problem.
Solution of the problem 3r3203.
First you need to say what to say, I will be about Docker for Windows. Maybe Linux is not so bad, but now is not about that.
What we have? We have ...
.NET / C# / DevOps
+ 0 -

And back into space: like the unicorn, Stellarium visited

And back into space: like the unicorn, Stellarium visited 3r31093. 3r3-31. For all the time of its existence, people have made a tremendous amount of effort to study almost the entire area of ​​the starry sky. To date, we have considered hundreds of thousands of asteroids, comets, nebulae and stars, galaxies and planets. To see all this beauty on your own, it’s not necessary to leave the house and buy a telescope for yourself. You can install on the computer Stellarium - a virtual planetarium, and look at the night sky, lying comfortably on the couch But with the comfort? To find out the answer to this question, check Stellarium for errors in the computer ...
+ 0 -

Internal and external linking in C ++

Good day everyone! 3r33737.  3r33770. 3r33737.  3r33770. We present to you a translation of an interesting article that was prepared for you as part of a 3-3-38 course. C ++ Developer
. We hope that it will be useful and interesting for you, as well as our listeners. 3r33737.  3r33770. 3r33737.  3r33770. Go. 3r33737.  3r33770. 3r33737.  3r33770. Have you ever come across the terms internal and external communication? Want to know what the extern keyword is used for, or how does declaring something static affect the global scope? Then this article is for you. 3r33737.  3r33770. 3r33737.  3r33770...
+ 0 -

What I don't like in C and C ++

What I don't like in C and C ++ 3r33300. 3r3-31. Please do not read professional C /C ++ programmers).
 3r33300. In the article, I express my point of view, if you disagree - justify in the comments.
 3r33300. The purpose of this article is to point out the shortcomings of C and C ++, which I really dislike and encourage you to use the new version of the language or maybe even offer some ideas for improving the standard.
 3r33300. Well, it's time to rekindle the holivar.
 3r33300. 3r314. 3r3188.
 3r33300. I think everyone knows that it’s awesome strings in C ++. Especially if we are talking about the old ...
+ 0 -

PVS-Studio: support for MISRA C and MISRA C ++ coding standards

3r3154. PVS-Studio: support for MISRA C and MISRA C ++ coding standards
Starting from version 6.2? the PVS-Studio static code analyzer can classify its warnings according to the MISRA C and MISRA C ++ standards. Thanks to the support of these standards, it has become possible to effectively use the analyzer to improve the security, portability and reliability of programs for embedded systems.
This year we took care of the support in the analyzer 3r315. PVS-Studio
standards like r3r317. CWE
and SEI CERT . Basically, support has been reduced to the classification ...
+ 0 -