Pull to refresh
10
0
Роман Пехов @Roman_Pekhov

User

Send message
Как не получить минусов за такую годноту?   Видимо, не стоит выкладывать в школьные каникулы.
Я же это и имею в виду: «Точность по времени будет хотя бы два часа». Это важно, конечно.

Если больше, тогда всё усложняется – в каждом квартале палатки, стулья, чай, печенье, вайфай, временные туалеты. Но и такое можно осилить.
Предсказание за пять часов до землетрясения это же мечта! Если оно будет сбываться хотя бы в половине случаев. И если точность по времени будет хотя бы два часа.

Просто всем одеться и выйти из зданий.

Вы сами неужели отказались бы одеться и выйти, если знали бы, что предсказания ошибаются через раз, но и угадывают через раз? А если предсказатели ошиблись, немедленно рассылают SMS: «Нет, пронесло. Всем обратно спать».
В Википедии даже две находки времён вашего детства, в которых подозревали Звено 19. Они годятся, нет?

ru.wikipedia.org/wiki/Звено_19#Найденные_обломки
Какой забавный итог у этого всего!

После стольких лет существования сайта в хабе «Разработка под Windows» нет ни одной статьи.
Пожалуйста, с этого места подробнее. Что именно делать, если статья (а с ней и карма) неоправданно оказалась на GT.

Ваша техподдержка отвечает только лишь неприемлемое: «Пока механизма ручного переноса постов нет, возможно, он скоро появится».
Раздосадован! Ещё недели не прошло с момента публикации, а уже нет возможности проголосовать за статью.

Сдаётся мне, многие из тех, кто интересуются таким специальным материалом, ходят на Хабр раз в неделю и реже. Действительно ли администрация заинтересована в накоплении здесь ценных текстов? Или всё это скорее этакий вконтактик для разработчиков?
Спасибо за наводку. Действительно, на странице Related – Binaries таки есть ссылка на сайт, где готовый установщик.
статическую линковку.
А вот же в подкаталоге bin лежат libeay32.dll и ssleay32.dll
На сайте openssl.org исполняемых файлов нет. Предлагается всем благородным донам возиться с построением из исходников? Или я чего-то не понимаю?

Как, например, обновить OpenVPN под Windows?
Когда вызываем Singleton::Instance(), мы должны опасаться, что может произойти повторный вход (reenter) в метод, из которого делаем вызов. Примерно так:

A::Instance() приводит к вызову B::Instance()
B::Instance() приводит к вызову C::Instance()

X::Instance() приводит к вызову A::Instance()

Как видим, при ленивой инициализации порядок создания объектов так же может выйти из-под контроля и создать не меньшие проблемы, чем с глобальными объектами.
Это венгерская запись. Тип переменной ясен из префикса «singleton».

Про то, что можно не бояться порядка инициализации, писал выше.

Впрочем, одну деталь я упустил с самого первого примера. Глобальность переменной тоже надобно показывать префиксом. Заменяем повсюду singletonInstance и singletonThe на 
g_singletonInstance.
Вы всерьёз утверждаете, что

singletonInstance

менее читабельно, чем

Singleton::Instance()

?
Атрибут __declspec(selectany) поддерживается и в gcc, и в Borland C++, и в Clang с ключом -fms-extensions.

Не поддерживается в Intel C++. Однако его используют около 2% присутствующих (из пишущих на С++) – результаты опроса.

А неудачный порядок инициализации глобальных переменных выявляется сам собой, если в нашем проекте есть самый минимальный набор автоматических тестов. К моменту входа в main глобальные переменные должны быть инициализированы. Практически любой тест должен бы достигать этой точки.

В нашем проекте так много классов с паттерном Одиночка (Singleton), что можно запутаться в порядке их инициализации. Значит это не мелкая поделка, а большой проект, а значит и автоматические тесты в нём конечно же есть.

Зная всё это, спросите себя, согласны ли вы вдвое ухудшить читабельность везде, где происходит обращение к объекту класса Singleton.
Идея не встретила одобрения. Забавно.

Коллеги, вы предпочитаете повсюду писать Singleton::Instance() вместо singletonThe – два идентификатора вместо одного? Или какая-то другая причина?
А глобальная ссылка позволит обращаться к объекту проще.

Singleton &  singletonThe = Singleton::Instance();

Ещё требуется указать, что эта переменная одна общая для всех cpp-файлов, использующих наш Singleton.h. Например в MSVC это так:

__declspec(selectany)  Singleton &  singletonThe = Singleton::Instance();

Пожалуйста, повторите измерение для PInvoke, применив атрибут SuppressUnmanagedCodeSecurity.

Описание говорит, что он ускоряет дело. Есть надежда получить результат близкий к наибыстрейшему даже на коротких массивах.
В фундаменте и на крыше моего дома время течёт с разной скоростью. По ночам слышно, как потрескивают кирпичи. Жуть.

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Registered
Activity