понедельник, 18 ноября 2013 г.

Установка Gentoo на шифрованный раздел

Решил поэкспериментировать с шифрованием разделов в gentoo. Т.к. не нашлось готовых мануалов, по которым бы всё сразу завелось пришлось долго гуглить и ходить по граблям. В посте будет полное описание данного процесса. Нет, не неуклюжего хождения по граблям, а готового решения, которое сработало на моём ноутбуке.

пятница, 1 ноября 2013 г.

Ошибка в комментарии

На старых фронтэндах был простой способ получить ошибку в плохо написанном комментарии. Связано это с триграфами. Сам столкнулся с такой на старой версии edg - фронтэнда, который используется в компиляторе intel.

$ cat test.c

/**
 * ??!
 */

int main(){}


$ lcc_i test.c
lcc: "test.c", line 2: error: support for trigraphs is disabled
          [-Werror=trigraphs]
   * ??!
     ^

1 error detected in the compilation of "test.c".


Подробней о проблемах с триграфами можно почитать на вики. Тут интересен вопрос "а почему вообще возникает такая проблема?". Фишка кроется в стандарте, раздел 5.1.1.2 Translation phases. Грубо говоря препроцессирование делится на 6 стадий. При этом триграфы разворачиваются на первой стадии, а комментарии удаляются только на 3-ей.

На современных компиляторах такой проблемы замечено не было.