Это важный файл для управления данным проектом.
В нем реализована каноническая программа "Hello World".
Filename: $RCSfile: important.с,v $
static char *RCSinfo = "$Id: important.c,v 1.3 2007/07/09. 07:07:08 neil Exp $";
int main {
printf("Hello World\n");
printf("This is an extra line added later\n");
printf("This file is under RCS control. Its ID is\n%s\n", RCSinfo);
exit(EXIT_SUCCESS);
}
А теперь выполните упражнение 9.6.
makeУ команды make
$ rm -f important.с
$ make important
со important.с,v important.c
important.с,v --> important.c
revision 1.3
done
сс -c important.c -o important.о сс important.о -о important
rm important.о important.с
$
Как это работает
У команды make
make создать файл important.c из файла important.c,v, используя RCS. Поскольку нет файла с именем important.c, команда make создала файл с расширением с, получив последнюю версию файла с помощью команды со. После компиляции она навела порядок, удалив файл important.c.Команду ident
$Id$. Поскольку вы сохранили строку в переменной, она появляется и в результирующем исполняемом файле. Может оказаться так, что, если вы включили специальные строки в исходный код, но никогда не обращаетесь к ним, компилятор из соображений оптимизации удалит их. Эту проблему можно обойти, добавив в исходный код несколько фиктивных обращений к ним, хотя по мере улучшения компиляторов делать это становится все труднее!Далее показан простой пример того, как можно использовать команду ident
ident$ ./important
Hello World
This is an extra line added later
This file is under RCS control. Its ID is
$Id: important.c,v 1.3 2007/07/09 07:07:08 neil Exp $
$ ident important
important:
$Id: important.c,v 1.3 2007/07/09 07 :07 :08 neil Exp $
$
Как это работает
Выполняя программу, вы показываете строку, включенную в исполняемый файл. Далее вы демонстрируете, как команда ident
$Id$.Этот метод применения RCS и строк вида $Id$
Если вас интересует дополнительная информация, на странице rcsintro
ci, со и т.д.SCCS
Система SCCS предлагает средства, очень похожие на средства системы RCS. Преимущество системы SCCS лишь в том, что она определена в стандарте X/Open, поэтому все версии UNIX известных производителей должны ее поддерживать. С практической точки зрения система RCS предпочтительнее, она легко переносится на разные платформы и распространяется бесплатно. Поэтому, если у вас UNIX-подобная система, независимо от ее отображения на стандарт X/Open, вы сможете получить для нее и установить в ней систему RCS. По этой причине мы не будем описывать далее в книге систему SCCS, лишь приведем краткое сравнение команд, имеющих аналоги в обеих системах.
Сравнение RCS и SCCS