Рубрика «Си» - 16

Это перевод статьи «How to trick C/C++ compilers into generating terrible code?», автор оригинала — Aater Suleman.

На курсе архитектуры ЭВМ мне сказали, что процессор похож на машину. Руль и педали — это ISA, двигатель — микроархитектура, а программа — водитель. Продолжая эту аналогию, скажу, что использование компьютера похоже на управление машиной через пульт дистанционного управления. Пульт — это клёвая вещь, но в то же время важно понимать, как он работает. Даже в профессиональном ПО я видел много примеров кода, который может смутить даже самый умный компилятор. В этой статье я расскажу об основных методах запутывания компиляторов.

Читать полностью »

Нетрадиционное применение распространённых вещей — это то, что всегда нам интересно! Ведь так хочется порой похачить очередное устройство. Понять как оно работает и внести какие-то свои коррективы в его работу, добавив новых функций.

Электронная книжка в качестве дисплея
Выводим свои картинки

Я расскажу, как можно старенькую читалку Sony PRS-505 превратить в удобный дисплейчик. И так же расскажу, как можно писать свои программы для этой книжечки

Читать полностью »

Многие программисты очень любят обвинять компилятор в различных ошибках. Поговорим немного об этом.
Читать полностью »

В данной статье будут представлены основные возможности языка AWK, сопровождаемые примерами. Также будет затронут вопрос о области его использования. Данная публикация носит ознакомительный характер. Ну что ж, поехали…

Немного истории

Самая первая версия AWK была создана корпорацией Bell Laboratories в 1977г. Название AWK означает инициалы его создателей Alfred Aho, Peter Weinberger и Brian Kernighan. Хотелось бы отметить, что в данном языке прослеживается влияние С, SNOBOL4 и Bourne Shell. Предназначен для обработки символьных и числовых полей в записях структурированных текстов.
Читать полностью »

Алгоритмы сортировки. Их не много, но и не мало. Есть часто используемые, есть никому не нужные. Я решил произвести обзор этих алгоритмов, чтоб освежить и свою память, и память хабрапользователей. И начнём с редкоиспользуемого алгоритма Gnome Sort(гномья сортировка).
Читать полностью »

Другим названием этой заметки может стать «Почему мне больше не интересно быть российским MVP в номинации Visual C++». Первая ассоциация, которая может возникнуть у читателя, что мне больше не интересен отживший своё язык. Такие ассоциации меня очень огорчают. C++ живее всех живых. К сожалению, в России многие про это не знают и уверены, что весь мир давно программирует только на C#, PHP, Python и иных новомодных языках. Это очень странно, и я чувствую себя в этой пустыне одиноко. Про это и будет моя статья.
Читать полностью »

Две недели назад специалисты «Лаборатории Касперского» обратились к сообществу с просьбой помочь определить язык программирования, на котором написана троянская программа Duqu. Обнаруженная в октябре 2011 года, она до сих пор ставила в тупик экспертов.

«Лаборатория Касперского» сначала обратились к экспертам по реверс-инжинирингу, но те ничем не смогли помочь. Ясно было, что язык программирования — определённо не C++, не Objective C, не Java, не Python, не Ada, не Lua и ещё не 30 других языков программирования, которые они проверили. После нескольких месяцев безуспешных попыток анализа оставалось только предположить, что ключевой фрагмент вредоносной программы написан на неком неизвестном языке.

Однако, благодаря помощи сообщества эту головоломку всё-таки удалось решить.
Читать полностью »

Сегодня мы будет обсуждать технические аспекты и реализацию задач на Python и C/C++, которыми нас будет закидывать инженер из Google. Начнём с самых тривиальных проблем с последующим нарастанием сложности. Параллельно обратим внимание о чём стоит упомянуть во время интервью и где не попасть в ловушку.
Если Вы видите способ улучшить алгоритм или код приведённый в данной статье — милости прошу отписаться в комментариях. Я хочу научиться чему-то новому на этой публикации тоже.
Телефонное техническое интервью — весьма оригинально само по себе. В тех компаниях, где мне посчастливилось его проходить, обычно мы говорили о моихЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js