GCC 4.6

Вийшла нове версія GNU Compiler Collection, 4.6.0.

Як і завжди, перелік змін займає кілька сторінок. Найцікавшими з них, мабуть, є:
  • підтримка мови Go
  • покращено підтримку C++0x
  • новий рівень оптимізації -Ofast
  • оптимізовано час лінкування
  • оптимізовано час компіляції (~10%)
  • Підтримка процесорів Intel Core i3/i5/i7
  • Підтримка процесорів AMD Bobcat

Повний перелік змін

Порядок завантаження динамічних бібліотек у Linux

Бувають іноді такі ситуації, коли треба запустити програму так, щоб вона підхопила якусь специфічну версію динамічних бібліотек замість тих, що стандартно встановлені у системі.

Уявіть, наприклад, що ви тестер і маєте перевірити роботу програми з усіма можливими версіями Qt від 4.4.3 аж до 4.7. Або вам просто хочеться у новенькій убунті вести розробку під якусь стародавню систему, у якій нічого більшого ніж 4.4.3 немає. У цьому пості я спробую зібрати докупи усю інформацію, яка знадобиться для вирішення таких ситуацій.

Коли бінарному файлу потрібно буде завантажити динамічну бібліотеку, то її шукатимуть у наступних місцях:

1) За значенням RPATH бібліотеки, у якій було знайдено залежність (якщо ця залежність у бібліотеці)
2) За значенням RPATH виконуваного файлу
3) у директоріях, перелічених у змінній оточення LD_LIBRARY_PATH
4) За значенням RUNPATH виконуваного файлу.
5) /etc/ld.so.cache — кеш бібліотек, сформований ldconfig
6) у стандартних директоріях, призначених для зберігання бібліотек (/lib та /usr/lib)



( Читати далі )

Тест на знання особливостей оптимізації у gcc Повідомлення-посилання

Веб-розробникам теж варто заглянути, у того сайту/блогу досить цікавий дизайн.

Що нового в GCC 4.5? Повідомлення-посилання

GCC 4.5 обіцяє зробити програми швидшими завдяки новій оптимізації, яка виконується під час лінкування (link-time optimization), полегшити написання розширень для компілятора, завдяки новій, і поки що досить спірній архітектурі плагінів, дотримуватись суворих стандартів для обчислень із плаваючою крапкою, і покращити якість відлагоджувальної інформації при використанні оптимізації.

Демонстрація найпростішої "Hello, world!" на С Повідомлення-посилання

Дуже цікаві експерименти зі звичайнісінькою програмою "Hello, world" на С. Так, виявилось, що GCC додає (http://blog.ksplice.com/2010/03/libc-free-world/) до коду libc, навіть якщо його про це не просити. У цій статті пояснюється, як зібрати "Hello, world!" взагалі не використовуючи бібліотек. Цікаве чтиво більш, як 10-літньої давності...