Confuso sobre ident

3

Eu herdei vários arquivos que começam com a seguinte declaração no topo

Ident:/some/path/to/a/file

Ident parece estar relacionado ao código C e fazer arquivos, mas não tenho certeza. Nenhum dos arquivos que eu tenho são código-fonte ou qualquer coisa assim. Apenas arquivos de texto.

Qual é o uso de Ident?

    
por Chris 27.09.2012 / 18:30

1 resposta

4

ident em C fornece informações sobre um programa ou função compilado, como sua versão, data de criação ou edição e similares. Um utilitário, o que, pode ser usado como: por exemplo, o que func.o, para exibir essa informação. As informações são preenchidas por um sistema de gerenciamento de código-fonte, como SCCS, RCS ou CVS.

Então, suponha que quando você estiver programando, você iniciará um programa como este:

ident "$ Id $"

    /*
     *      Copyright (C) 2000-2012 Your Name
     *
     *      This program is free software; you can redistribute it and/or
     *      modify it under the terms of version 2 of the GNU General
     *      Public License as published by the Free Software Foundation.
     *
     *      This program is distributed in the hope that it will be useful,
     *      but WITHOUT ANY WARRANTY; without even the implied warranty of
     *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
     *      General Public License for more details.
     *
     *      You should have received a copy of the GNU General Public
     *      License along with this program; if not, write to the Free
     *      Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
     *      MA 02111-1307, USA.
     */
     /*
     *      Name:           $Source$
     *      Purpose:
     *      Version:        $Revision$
     *      Modified:       $Date$
     *      Author:         Your Name
     *      Date:
     *      $Log$
     */

Então, o que acontece aqui é que todas as informações relacionadas ao arquivo, como a versão no, nome do autor, etc., são todas gravadas para referência futura.

Quando um arquivo contendo estas $ token $ strings é colocado em, digamos, o CVS, esses tokens serão traduzidos assim:

    #ident  "$Id: histfile.c,v 1.1.1.1 2011/10/07 18:06:40 trona Exp $"

    /*
     *      Copyright (C) 2000-2012 Your Name
     *
     *      This program is free software; you can redistribute it and/or
     *      modify it under the terms of version 2 of the GNU General
     *      Public License as published by the Free Software Foundation.
     *
     *      This program is distributed in the hope that it will be useful,
     *      but WITHOUT ANY WARRANTY; without even the implied warranty of
     *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
     *      General Public License for more details.
     *
     *      You should have received a copy of the GNU General Public
     *      License along with this program; if not, write to the Free
     *      Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
     *      MA 02111-1307, USA.
     *
     *      Name:           $Source: /usr/local/cvsroot/utils/histfile.c,v $
     *      Purpose:        display content of a user's .sh_history file
     *      Version:        $Revision: 1.1.1.0 $
     *      Modified:       $Date: 2012/10/07 18:06:40 $
     *      Author:         Your Name
     *      Date:           24 Jun 2012
     *      $Log: histfile.c,v $
     *      Revision 1.1.1.1  2012/10/07 18:06:40  trona
     *      initial installation Slackware 13.0
     *
     */

O token $ Log $ é muito importante; em um projeto onde o código é editado por muitas mãos, cada edição é gravada com um comentário descrito pelo que foi feito, por que foi feito e quando foi feito.

Infelizmente, o utilitário que não é portado para o Linux, mas pode ser obtido no The Heirloom Project hospedado no Sourceforge, se você estiver interessado.

É um pouco grande, mas espero que você tenha a informação que está procurando.

Você também pode consultar este link: link

    
por 27.09.2012 / 21:35

Tags