Но волей судеб нужно было портировать программку, в которой использовался
nanosleep(2). И…
Для внезапно стало откровением: В WINDOWS НЕТ ТАЙМЕРОВ ВЫСОКОГО РАЗРЕШЕНИЯ. А есть только по сути хаки и вызов
Sleep, с минимальным промежутком в 10мс.
Но тут мы упираем процессор в полку. Есть вариант с использованием select, но, по отзывам, он так же может ждать не менее 10мс.
Т.е., по сути, это единственный вариант для Windows, да ещё и не лишённый глюков: почти все процессоры уже умеют автоматическое понижение частоты… Чуете? Пока работает цикл, значение sysFreq может измениться (поправьте меня, если я не прав) и время потекло.
Описываются различные вариант таймеров: стандартные win32, мультимедийные, Waitable Timers (не знаю как лучше перевести на русский язык), Queue Timers. Но опять таки, все периоды - миллисекунды.
Qt Creator master has recently got a feature, which has been requested a
few times, for Doxygen blocks generation. If you type /** or /*! and
press enter/return before a declaration, you’ll get something like:
You can also opt whether or not you want an additional <br/>brief command
and leading asterisks for comment continuation (when breaking lines).
The options are in Text Editor->Completion->Documentation Comments.
Notice that the style is identified from the comment beginning. If you
start it with /*! then the Qt style is used. Otherwise, the Java style
with the @ prefix for the commands is picked.
Как сказал один умный дядька (вот к своему позору запамятовал как его зовут, вроде Аристотель): “Дайте мне библиотеку и я в пустыне построю университет!”. Пусть у меня тут не университет, но… полезных и интересных книг? есть их у меня! Посему начинаю проект по публикации своей домашней электронной библиотеки. И вот первые ласточки:
материалы по учебе в ДВГТУ
В QLandkarteGT есть удобная вещь - экспорт видимой области карты со всеми отображаемыми точками, треками, измерениями и т.п. в растровый (PNG) файл.
Мне же потребовалось, что бы вся карта как есть была экспортирована. Пришлось полезть в исходники. Прямого пути сделать такое не нашлось, пришлось сделать несколько костыльно (имхо), но работоспособно (ибо нужно срочно - готовить карту к предстоящим соревнованиям).
Беглый анализ привёл к мысли, что производился редизайн кода, оптимизация и убирание дублирующихся блоков кода, в результате просто недосмотрели одно место.