вівторок, 28 лютого 2017 р.

Словничок, що завжди під рукою

Хто не користувався Google Translate? Гарний сервіс, та має недолік. Не може підказувати окремі слова з вашого документу прямо в тексті. В Linux є чудова утилітка - GoldenDict. Вона допомагає перекладати окремі слова при подвійному кліку на них в будь-якій програмі. Встановлення тривіальне:


$ sudo apt-get install goldendict

Трішки налаштувань - і вона задовільнить більшість потреб з перекладу окремих слів. Програмка може працювати з веб-сайтами словниками, а також з вікіпедією (щоправда останнім часом є проблеми з підключенням googletranslate та й wiki викидає помилки). Втім, можна скачати готові офлайн словники і не залежати від інтернету.

Ось, до прикладу, налаштування на тлумачний словник української мови:

UKRLIT-SUM = http://ukrlit.org/slovnyk/%GDWORD%

А офлайн словники знайдете на сайті:


Там є і й англо-український, українсько-англійський та інші. Відеоінструкція з підключення словника:

четвер, 23 лютого 2017 р.

Крос-компіляція Windows програм з-під Linux

Якщо ви вже перейшли на Лінукс, але ваші клієнти ще на Windows і  ви пишете для них програми, то для компіляції цих програм під платформу Windows зовсім не обов'язково використовувати віртуальні машини, окремі ПК чи інші хитрощі. Цілком можливо застосовувати крос-компіляцію в Linux.

Встановлюємо пакет mingw, який уособлює крос-компілятор і необхідні інструменти: 

sudo apt-get install mingw-w64

Компілюємо за допомогою mingw нашу програму:

i686-w64-mingw32-g++  hello.cpp
В результаті ваша програма буде залежати від кількох dll. Залежності кінцевої програми від mingwm10.dll, libstdc++6.dll та інших можна позбутися, підключивши ці бібліотеки статично. А статичне підключення цих бібліотек здійснюється ключами компілятора:

-static-libstdc++
-static-libgcc

Кінцевий exe може бути доволі значним по величині. Оптимізації розміру кінцевого exe можна досягнути, виключивши інформацію відлагодження (ключ -s) та стиснувши exe утилітою upx. Встановлення утиліти очевидне:

sudo apt-get install upx

Використання утиліти теж не створює складнощів:

upx hello.exe

Джерела: