Сейчас с уверенностью можно утверждать, что времена самописных C++-парсеров постепенно отходят в прошлое. На сцену медленно, но неумолимо выходит clang — полноценный C++-фронренд и компилятор, предоставляющий своим пользователям богатое API. С помощью этого API можно распарсить исходный текст на C/C++/Objective C, и вытащить из него всю необходимую информацию — от простого лексического значения токенов, до таблицы символов, AST-деревьев и результатов статического анализа кода на предмет всяких разных проблем. В связке с llvm и при сильном на то желании C++ можно использовать в качестве скриптового языка, парся и исполняя C++-программы «на лету». В общем, возможности перед программистами открываются богатые, надо только понять — как ими правильно воспользоваться. А тут, как это не редко случается, и начинается самое интересное.
Читать полностью »
Метка «С++» - 8
О том, как мелкие баги в линкере Microsoft аукаются в Linux, на примере Firefox
2012-07-23 в 15:54, admin, рубрики: c++, Firefox, Программирование, С++, метки: firefox, С++
Как известно, некоторое время назад команда Mozilla наступила на баг в линкере микрософт — xul.dll получалась такая богатая, что линкер на ней падал. И собрать версию под платформу номер один (windows 32bit) не удавалось.
Временно, до выяснения, из Firefox были выкинуты «малоиспользуемые» API. Произошло это между 5 и 7й версиями.
Не будет сюрпризом тот факт, что борьба за линкер была продолжена, о чем у нас и пойдет речь.
Обзор зарплат программистов Java/C++/C#/Delphi
2012-07-16 в 8:07, admin, рубрики: Delphi, java, salary, survey, Блог компании IT-Доминанта, вакансии, зарплаты, исследование, кадры, обзор, С++, метки: c++, Delphi, java, salary, survey, вакансии, зарплаты, исследование, кадры, обзор, С++ А мы (мы — это рекрутинговая компания IT-Доминанта), продолжаем публиковать результаты нашего исследования рынка заработных плат в IT индустрии.
Очередной пост мы решили посвятить:
- Java программистам
- С++ программистам
- C# программист
- Delphi программистам
PVS-Studio: отзывы
2012-07-09 в 8:36, admin, рубрики: pvs-studio, инструменты разработки, С++, статический анализ кода, я пиарюсь, метки: pvs-studio, инструменты разработки, С++, Си, статический анализ кода Решил собрать в одном месте отзывы различных людей, касающиеся нашего статического анализатора кода PVS-Studio. Некоторые отзывы приведены целиком, другие частично. С оригинальными отзывами можно познакомиться, перейдя по соответствующим ссылкам.
Читать полностью »
Однострочники на Си/С++. Часть 2
2012-07-06 в 17:16, admin, рубрики: c++, Алгоритмы, ассемблерная вставка, код Грея, Программирование, рекурсия, С++, метки: ассемблерная вставка, код Грея, рекурсия, С++
Ранее я уже публиковал статью о Однострочниках на С++. Так в этом посте я хочу упомянуть ещё несколько алгоритмов, а также несколько реализаций алгоритма обмена двух чисел(с вычислением времени работы).
Всех заинтересовавшихся прошу под кат;)
Читать полностью »
О производительности сетевых программ
2012-07-04 в 10:02, admin, рубрики: linux, UNIX, Айдеко, Блог компании Айдеко, обучение, Программирование, разработка софта, метки: linux, unix, Айдеко, обучение, Программирование, разработка софта, С++
Заключительная лекция курса «Сетевое программирование в UNIX», который подготовили специалисты SkyDNS и компании «Айдеко», получилась многогранной.
На лекции были рассмотрены две основных темы. Марк Коренберг («Айдеко») и Александр Патраков (SkyDNS) рассказали, как простыми модификациями можно ускорить работу цикла обработки событий и объяснили, как пользоваться флагом EPOLLET. Читать полностью »
Простой многопоточный тип доступа к данным и атомарные переменные
2012-07-04 в 8:49, admin, рубрики: atomic counter, перевод, переводы, Программирование, метки: atomic counter, перевод, Программирование, С++Автор: Alexander Sandler, оригинал статьи (23 декабря 2008)
Введение
В этой статье мне бы хотелось продолжить тему, начатую в моих предыдущих постах (см. ниже — прим. пер.). Вопрос, на который я попытаюсь ответить — что является наиболее эффективным и безопасным способом доступа к переменным простого типа данных из двух или более потоков. То есть, как изменить переменную из двух потоков одновременно, не нарушив ее значения.
Читать полностью »
Однострочники на С++. Часть 2
2012-07-02 в 15:52, admin, рубрики: c++, quicksort, Алгоритмы, бинарный поиск в массиве, массив, однострочники, Программирование, С++, случайные числа, сортировка, метки: quicksort, бинарный поиск в массиве, массив, однострочники, С++, случайные числа, сортировка
Ранее я уже публиковал статью о Однострочниках на С++, теперь я хочу рассказать несколько STL алгоритмов и не только.
Заинтересовавших прошу под кат.
Читать полностью »
Как решить проблему 10 000 соединений?
2012-06-22 в 12:11, admin, рубрики: linux, UNIX, Айдеко, Блог компании Айдеко, обучение, Программирование, разработка софта, метки: linux, unix, Айдеко, обучение, Программирование, разработка софта, С++
Способы решения этой проблемы, поднятой еще в 2001 году программистом Дэном Кегелем, рассматриваются в девятой лекции курса «Сетевое программирование в UNIX», подготовленного специалистами SkyDNS и компании «Айдеко». За подробностями – добро пожаловать под кат.
Читать полностью »
Сортировка в одну строку
2012-05-25 в 1:52, admin, рубрики: ненормальное программирование, пузырьковая сортировка, С++, метки: пузырьковая сортировка, С++Имеем обычный «пузырек»:
for(int i = 0; i < n - 1; i++ )
for(int j = i + 1; j < n; j++)
if(ar[i] > ar[j])
{
int temp = ar[i];
ar[i] = ar[j];
ar[j] = temp;
}
Задача №1: Избавиться от временной переменной. Делается это вот таким макаром:Читать полностью »