Некоторые «особенности» компилятора gcc, которые меня бесят

{lang: 'ru'}

А вы знаете особенности используемого вами компилятора C++? Наверняка. А компилятора стороннего производителя? А gcc? :) Интересно, почему я это спрашиваю? Потому что недавно мы с командой участвовали в очередном соревновании по спортивному программированию, и на тестирующем сервере были только свободные компиляторы: gcc, freepascal и т.п., а вот на машинах участников стояла винда… И, естественно, компиляторы тоже были «виндовые». В общем, в качестве среды разработки стояла Visual C++ Express. Казалось бы, ну и что?! Но это вылилось в постоянную борьбу с компилятором за то, чтобы наше решение наконец-таки скомпилировалось на сервере. У нас, естественно, все работало. Так я узнал некоторые особенности gcc по сравнению с Visual C++, чему и посвящен этот пост.


Вычисление хэша MD5 на C#

{lang: 'ru'}

Недавно передо мной встала задача вычислить md5-хэш на C#. Мне нужно было получить хэш-сумму для строки с паролем, чтобы не передавать (да и не хранить) его открытым текстом. Естественно, писать ручками я этого не собирался и решил поискать стандартные решения. К счастью, оно нашлось довольно быстро, работает хорошо, используется просто.