Показаны сообщения с ярлыком microsoft. Показать все сообщения
Показаны сообщения с ярлыком microsoft. Показать все сообщения

2015-03-05

Из анонса новой CRT в Visual Studio

...
The "best" example of this maintainability problem could be found in the old implementation of the printf family of functions. The CRT provides 142 different variations of printf, but most of the behavior is the same for all of the functions, so there are a set of common implementation functions that do the bulk of the work. These common implementation functions were all defined in output.c in the CRT sources(1). This 2,696 line file had 223 conditionally compiled regions of code (#ifdef, #else, etc.), over half of which were in a single 1,400 line function. This file was compiled 12 different ways to generate all of the common implementation functions. 
...
We have converted most of the CRT sources to compile as C++, enabling us to replace many ugly C idioms with simpler and more advanced C++ constructs. The publicly callable functions are still declared as C functions, of course (extern "C" in C++), so they can still be called from C. But internally we now take full advantage of the C++ language and its many useful features.
...
Before this refactoring, the sprintf functions, which write formatted data to a character buffer, were implemented by wrapping the result buffer in a temporary FILE object and then deferring to the equivalent fprintf function. 

2013-12-03

одного потока хватит всем...

В GDI+ внутри Graphics.DrawImage лочится критическая секция. Поэтому  заводить более одного рабочего потока для рисования -- бессмысленно. А если еще и гуй отрисовывается картинками, то вообще фигня получается.

2013-11-20

о посредниках.

Чтобы Visual Studio 2013 увидела 2008-ю как toolset (IDE от 2013, компилятор от 2008), нужно установить 2010-ю.

2012-07-04

MS такой MS

Для виртуальных дисков, созданных через subst, действует ограничение в 2Gb на файл, даже если подставляемый каталог лежит на NTFS-томе.
Лечится net use v: \\127.0.0.1\c$\Users\bitfield\foldername, но это тоже извращение -- гонять данные через сетевую подсистему.