Как стать автором
Обновить
0
0
Руслан Микеев @Mikeev

Программист C++

Отправить сообщение

Как мы автоматизировали портирование продуктов с C# на C++

Время на прочтение13 мин
Количество просмотров6.9K
Привет, Хабр. В этом посте я расскажу о том, как нам удалось организовать ежемесячный выпуск библиотек для языка C++, исходный код которых разрабатывается на C#. Речь идёт не об управляемом C++ и даже не о создании моста между неуправляемым C++ и средой CLR — речь об автоматизации генерации кода на C++, повторяющего API и функциональность оригинального кода на C#.

Необходимую инфраструктуру, обеспечивающую трансляцию кода между языками и эмуляцию функций библиотеки .Net, мы написали сами, решив таким образом задачу, которая обычно считается академической. Это позволило начать выпускать ежемесячные релизы дотнетовских продуктов и для языка C++ тоже, получая код каждого релиза из соответствующей версии кода C#. При этом тесты, которыми был покрыт оригинальный код, портируются вместе с ним и позволяют контролировать работоспособность получившегося решения наравне со специально написанными тестами на C++.

В этой статье я кратко опишу историю нашего проекта и используемые в нём технологии. Вопросов экономического обоснования я коснусь лишь вскользь, поскольку техническая сторона для меня гораздо интереснее. В следующих статьях цикла я планирую подробнее остановиться на таких темах, как кодогенерация и управление памятью, а также на некоторых других, если у сообщества будут соответствующие вопросы.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии27

Ускорение сборки C и C++ проектов

Время на прочтение13 мин
Количество просмотров43K
Многие программисты не понаслышке знают о том, что программа на языке C и C++ собирается очень долго. Кто-то решает эту проблему, сражаясь на мечах во время сборки, кто-то — походом на кухню «выпить кофе». Это статья для тех, кому это надоело, и он решил, что пора что-то предпринять. В этой статье разобраны различные способы ускорения сборки проекта, а также лечение болезни «поправил один заголовочный файл — пересобралась половина проекта».

Picture 1
Читать дальше →
Всего голосов 58: ↑56 и ↓2+54
Комментарии35

VIM: зачем, если есть IDE, и как?

Время на прочтение4 мин
Количество просмотров128K

Сегодня вышел текст о том, как человек перешёл с Sublime на VIM. В комментариях, как обычно это бывает, появились сообщения в духе "Зачем мне тратить время на Vim, если есть IDE, где всё работает?" (люди даже статьи на эти темы пишут). Хотел внести свои пять копеек, но объём написанного плавно перевёл текст из разряда "комментарий" в разряд небольшой статьи.


В целом, всё, что ниже — это вкусовщина, конечно. Нравится вам ваша IDE (или ваш текущий инструмент), да и пожалуйста. Используйте для текущих задач то, чем вы владеете лучше всего, это аксиома эффективной работы. Но если у вас вдруг появилось немного времени на повышение вашей эффективности в целом, то попробую вас заинтересовать именно Vim'ом, сравнивая его с некой обобщенной IDE.


Узнать зачем и как начать
Всего голосов 100: ↑75 и ↓25+50
Комментарии401

Легкий способ научиться слепому десятипальцевому набору

Время на прочтение3 мин
Количество просмотров1.2M
Традиционно рекомендации по обучению десятипальцевой печати сводятся к двум советам:
  • тратить нервы на клавиатурные тренажеры вроде пресловутого «Соло на клавиатуре»;
  • заклеить подписи на клавишах.

Научиться печатать на клавиатуре вслепую при помощи этих способов — издевательство над собой. Каждый, кто пробовал «Соло», хотя бы раз в ярости бил по клавиатуре кулаком, и практически никто не дошел до конца. А кто пробовал заклеивать надписи на клавишах, вскоре отрывал наклейки обратно, потому что без навыка и без подписей печатать невозможно, а жить дальше как-то надо.

Что если я скажу вам, что есть абсурдно простой, состоящий из одного пункта способ научиться слепой печати без этих дурацких органичений?
 

Читать дальше →
Всего голосов 88: ↑76 и ↓12+64
Комментарии234

Информация

В рейтинге
Не участвует
Откуда
Ульяновск, Ульяновская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность