Данная статья будет полезна чайникам новичкам в программировании, которые хотят начать изучать техническое зрение при помощи библиотеки OpenCV с полного нуля. Если Вы пользователь Windows и не знаете, что такое «командная строка», или что значит «прилинковать библиотеку», и при этом Вы мечтаете поглубже изучить работу OpenCV и программирование «под железо», перейти на кроссплатформенное ПО, пойти по пути тру специалиста, то Вам сюда. В статье будут приведены подробные инструкции с картинками, так что не понять, что к чему, будет просто невозможно!
Читать полностью »
Рубрика «gcc» - 6
Установка OpenCV в Windows для чайников и подключение библиотеки в Code Blocks
2017-01-20 в 0:03, admin, рубрики: C, c++, cmake, gcc, opencv, обработка изображений, разработка под windows, Си, установкаИстория одного бага: выравнивание данных на x86
2016-12-26 в 12:35, admin, рубрики: C, c++, gcc, sse, x86, выравнивание, заголовки IPv4, Компиляторы, контрольная сумма, обратный код, отладка, слишком умный компилятор, метки: выравниваниеОднажды мне пришлось вычислять сумму векторов целых чисел.
Звучит необычно. Кому понадобится делать это в реальной жизни? Обычно такие вычисления встречаются только в задачках из начальной школы или бенчмарках компилятора. Но сейчас это случилось на самом деле.
В реальности стояла задача проверить контрольную сумму заголовков IPv4, которая является суммой обратных кодов (дополнений до единицы) двухбайтных машинных слов. Проще говоря, это означает сложение всех слов и всех битов переноса, которые производятся в процессе. У этой процедуры есть несколько приятных особенностей:
- её можно эффективно выполнить с помощью процессорной инструкции
ADC
(к сожалению, эта функция недоступна в C); - её можно выполнить на словах любого размера (можете добавить по желанию восьмибайтные значения, только результат следует уменьшить до двух байт и добавить все биты переполнения);
- она нечувствительна к порядку следования байтов (удивительно, но это так).
FlyElephant празднует первый год работы в публичном доступе и анонсирует сотрудничество с HPC-HUB
2016-11-25 в 13:10, admin, рубрики: big data, blender, c++, data mining, docker, FlyElephant, gcc, gromacs, HPC, java, Julia, jupyter, octave, OpenFOAM, openmp, python, R, SciLab, Блог компании FlyElephant, высокая производительность, машинное обучение, научные расчёты, Облачные вычисления, параллельное программирование, стартапыВ ноябре FlyElephant празднует первый год работы в публичном доступе. FlyElephant — это платформа для дата сайнтистов, инженеров и ученых, которая ускоряет бизнес с помощью автоматизации Data Science и Engineering Simulation.
Читать полностью »
Расширения языков С и С++. Часть 1
2016-11-20 в 12:01, admin, рубрики: C, c++, gcc, Компиляторы, ПрограммированиеДанная статья (и я надеюсь что серия статей) посвящена нестандартным расширениям языков С и С++, которые существуют практически в каждом компиляторе.
Языковые расширения — это дополнительные возможности и фичи языка, не входящие в стандарт, но тем ни менее поддерживаемые компиляторами. Исследовать эти расширения очень интересно — в первую очередь потому, что они возникли не на пустом месте; каждое расширение — результат насущной необходимости, возникавшей у большого числа программистов. А мне интересно вдвойне — поскольку мне нравятся языки программирования и я разрабатываю свой, часто оказывается что многие мои идеи реализованы именно в расширениях языка. Стандарты языков С и С++ развиваются крайне медленно, и порой, читая описание расширений, так и хочется воскликнуть «ну это же очевидно! почему этого до сих пор нет в стандарте?».
Языковые расширения — это такая «серая», теневая область, про которую обычно мало пишут и мало знают. Но именно этим она и и интересна!
Предварительно могу сказать, что будут рассмотрены компиляторы общего назначения gcc, msvs, clang, intel, embarcadero, компиляторы для микроконтроллеров iar и keil, и по возможности многие другие компиляторы. Больше всего расширений в GCC, что не удивительно — свободная разработка способствует воплощению разных языковых фич. К тому же, информация по расширениям GCC вся собрана в одном месте, а информацию по остальным компиляторам придется собирать по крупицам. Поэтому начнем с GCC.
Читать полностью »
Находим ошибки в коде компилятора GCC с помощью анализатора PVS-Studio
2016-08-31 в 13:47, admin, рубрики: bugs, C, c++, gcc, GNU Compiler Collection, pvs-studio, PVS-Studio for Linux, static code analysis, Блог компании PVS-Studio, информационная безопасность, ошибки в коде, Разработка под Linux, Си, статический анализ кодаЯ регулярно проверяю различные открытые проекты, чтобы продемонстрировать возможности статического анализатора кода PVS-Studio (C, C++, C#). Настало время компилятора GCC. Бесспорно, GCC — это очень качественный и оттестированный проект, поэтому найти в нём хотя бы несколько ошибок уже большое достижение для любого инструмента. К моей радости, PVS-Studio справился с этой задачей. Никто не застрахован от опечаток и невнимательности. Именно поэтому PVS-Studio может стать вашей дополнительной линией обороны на фронте бесконечной войны с багами.
Читать полностью »
Оптимизация сравнения this с нулевым указателем в gcc 6.1
2016-08-24 в 21:00, admin, рубрики: c++, gcc, gcc-6, Блог компании ABBYY, Компиляторы, предупреждения, статический анализ кода, типичные ошибкиХорошие новостиTM ждут пользователей gcc при переходе на версию 6.1 Код такого вида (взят отсюда):
class CWindow {
HWND handle;
public:
HWND GetSafeHandle() const
{
return this == 0 ? 0 : handle;
}
};
«сломается» — при вызове метода через нулевой указатель на объект теперь может происходить разыменование нулевого указателя, потому что компилятор теперь может просто взять и удалить проверку. Код, конечно, с самого начала сломан, а gcc 6.1 его только немного доломает.
Читать полностью »
Const и оптимизации в C
2016-08-07 в 5:21, admin, рубрики: C, c++, clang, const, gcc, компилятор, Компиляторы, оптимизацияСегодня на /r/C_Programming задали вопрос о влиянии const
в C на оптимизацию. Я много раз слышал варианты этого вопроса в течении последних двадцати лет. Лично я обвиняю во всём именование const
.
PVS-Studio признаётся в любви к Linux
2016-07-28 в 14:17, admin, рубрики: C, c++, clang, gcc, linux, pvs-studio, PVS-Studio for Linux, PVS-Studio для Linux, Блог компании PVS-Studio, Разработка под Linux, Си, статический анализ кода, статический анализатор кодаЭто заметка о любви. О любви статического анализатора кода PVS-Studio к замечательной открытой операционной системе Linux. Эта любовь молода, трогательная и ранима. Этой любви нужно помочь укрепиться. Вы поможете, если заранее запишитесь в добровольцы для тестирования beta-версии PVS-Studio for Linux.
Читать полностью »
Сообщество экспертов, совместная работа над проектами и другие обновления платформы FlyElephant
2016-07-27 в 6:51, admin, рубрики: big data, blender, c++, docker, FlyElephant, gcc, gromacs, HPC, java, Julia, jupyter, Microsoft Azure, octave, OpenFOAM, openmp, python, R, SciLab, Блог компании FlyElephant, высокая производительность, научные расчёты, Облачные вычисления, параллельное программирование, стартапыКоманда FlyElephant рада анонсировать релиз платформы FlyElephant 2.0, в который вошли следующие обновления: внутреннее сообщество экспертов, совместная работа над проектами, публичные задачи, поддержка Docker и Jupyter, новое хранилище данных и работа с HPC кластерами.
FlyElephant — платформа для исследователей данных, инженеров и ученых, которая предоставляет готовую вычислительную инфраструктуру для проведения высокопроизводительных вычислений и рендеринга, помогает находить партнеров и совместно работать над проектами, а также управлять всеми ресурсами из одного места. Платформа состоит из 3-х основных компонентов:
- Compute. Быстрый доступ к вычислительному кластеру в облаке с нужным программным обеспечением или HPC кластеру, а также автоматизация проведения расчетов.
- Collaborate. Совместная работа над проектами и сообщество экспертов, где можно найти партнеров, чтобы вместе решить сложную задачу или получить квалифицированную консультацию.
- Manage. Управление лицензиями, программным обеспечением, вычислительными ресурсами, шаблонами, алгоритмами, данными и результаты в одном месте.
Среди нововведений отметим следующие:
Читать полностью »
Видео-туториалы запуска вычислительных задач на Python, R, С++, Octave и Blender во FlyElephant
2016-03-29 в 15:30, admin, рубрики: blender, c++, data mining, FlyElephant, gcc, gromacs, HPC, java, Julia, octave, OpenFOAM, openmp, python, R, SciLab, Блог компании FlyElephant, научные расчёты, Облачные вычисления, параллельное программирование, стартапыПару недель назад, наша команда выпустила свежий релиз FlyElephant — платформа для ученых, которая предоставляет готовую вычислительную инфраструктуру для проведения расчетов, помогает находить партнеров и совместно работать над проектами, а также управлять всеми данными из одного места.
В качестве вычислительного ресурса сейчас используется облако Azure, а пользователи могут запускать вычислительные задачи, написанные с помощью С++ (с поддержкой OpenMP), R, Python, Octave, Scilab, Java, Julia, OpenFOAM, GROMACS, Blender на серверах с количеством ядер от 1 до 32 и оперативной памятью до 448 ГБ.
Сегодня мы хотим поделиться видео-туториалсами запуска задач во FlyElephant. Под катом вы найдете видео, как запускать вычислительные задачи, написанные с помощью С++, R, Python, Octave и рендерить изображения с помощью Blender, а также промо-код для получения бесплатных дополнительных часов работы ваших задач.
Читать полностью »