Главная » C++, C++ Builder » Что такое Trigraph в CBuilder?

0

Если вы просмотрите каталог bin в дереве установки CBuilder, то найдете там программу trigraph. Для большинства людей программа trigraph не нужна и может быть проигнорирована. Однако для некоторых владельцев европейских клавиатур trigraph может быть необходима. Некоторые клавиатуры в отдельных странах не имеют всех «стандарт ных» символов, необходимых для программирования на C++. Например, нужны такие символы, как «диез» (#), квадратные скобки ([ и ]), обратная черта (\). Комитет ANSI C++ догадался, что эти символы не всегда доступны, и придумал способ эмулировать их на всех клавиатурах. Например, символ # можно представить в виде трех символов, ??=. Если у вас был исходный файл со следующим кодом:

??=include <stdio.h>

то стандартный компилятор C++ преобразует эту строчку в стандартный код на C++:

#include <stdio.h>

К сожалению, обработка такого кода сильно затормаживает компилятор, так что Borland предоставила отдельный продукт — программу trigraph, которая выполняет такие преобразования. Например, мы создаем файл tritest.cpp, содержащий следующий код:

??=include <stdio.h>

??=include <stdlib.h> int array??(20??);

int main()

??<

return 0;

??>

Тогда,  запустив  команду trigraph  tritest.cpp,  этот  файл  будет  скопирован  в  tritest.bak,  а  на  его месте, tritest.cpp, будет новый файл со следующим кодом:

#include <stdio.h>

#include <stdlib.h> int array[20];

int main()

{

return 0;

}

Этот файл будет компилироваться стандартным C++ компилятором. Я не могу себе представить ситуации, когда кто-либо будет использовать trigraph кроме как в абсолютно безвыходной ситуации, но тем не менее, если у вас сломаются клавиши # или {}, то вам не обязательно сразу идти и топиться.

Источник: Теллес М. – Borland C++ Builder. Библиотека программиста – 1998

По теме:

  • Комментарии