How to install Visual C++ Build tools?

I just stumbled onto this issue accessing some Python libraries: Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ Build Tools”. The latest link to that is actually here: https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2019 When you begin the installer, it will have several “options” enabled which will balloon the install size to 5gb. If you have … Read more

Visual Studio support for new C / C++ standards?

MS has a series of public replies to this, most of them blaming their users. Like this one: https://devblogs.microsoft.com/cppblog/iso-c-standard-update/ Now, the Visual C++ compiler team receives the occasionally question as to why we haven’t implemented C99. It’s really based on interest from our users. Where we’ve received many requests for certain C99 features, we’ve tried … Read more

what does __declspec(dllimport) really mean?

__declspec is a Microsoft-specific attribute that allows you to specify storage-class information. (Nitpicker’s Corner: However, a number of other compiler vendors—e.g. GCC—now support this language extension for compatibility with the installed base of code that was written targeting Microsoft’s compilers. Some even provide additional storage-class attributes.) Two of those storage-class attributes that can be specified … Read more

Is gettimeofday() guaranteed to be of microsecond resolution?

Maybe. But you have bigger problems. gettimeofday() can result in incorrect timings if there are processes on your system that change the timer (ie, ntpd). On a “normal” linux, though, I believe the resolution of gettimeofday() is 10us. It can jump forward and backward and time, consequently, based on the processes running on your system. … Read more

Get a file name from a path

The task is fairly simple as the base filename is just the part of the string starting at the last delimeter for folders: std::string base_filename = path.substr(path.find_last_of(“/\\”) + 1) If the extension is to be removed as well the only thing to do is find the last . and take a substr to this point … Read more

‘uint32_t’ identifier not found error

This type is defined in the C header <stdint.h> which is part of the C++11 standard but not standard in C++03. According to the Wikipedia page on the header, it hasn’t shipped with Visual Studio until VS2010. In the meantime, you could probably fake up your own version of the header by adding typedefs that … Read more