O que é o formato de ficheiro IN?
Um arquivo .in é um arquivo de modelo de texto simples processado pelo sistema de compilação GNU Autotools. Os exemplos mais comuns são Makefile.in (modelo para o Makefile de um projeto) e config.h.in (modelo para um cabeçalho de configuração C/C++). Quando um desenvolvedor executa ./configure - o script gerado pelo GNU Autoconf - o script lê esses modelos .in, substitui os espaços reservados @VARIABLE@ por valores detectados do ambiente de compilação (caminhos do compilador, sinalizadores de biblioteca, recursos do sistema) e grava os arquivos de saída finais.
O GNU Autoconf foi criado por David MacKenzie em 1991 e é mantido pelo GNU Project. O Autoconf 2.72 (dezembro de 2023) é a versão atual. O arquivo de entrada de macro de nível superior era historicamente nomeado configure.in; ele foi renomeado para configure.ac no Autoconf 2.50 para reduzir a ambiguidade, embora muitos projetos antigos ainda usem o nome original.
Tipos comuns de modelos .in:
Makefile.in- torna-seMakefileapós a execução do./configureconfig.h.in- torna-seconfig.hcom substituições de#define//* #undef */foo.pc.in- torna-se um arquivo.pcdo pkg-config
Como os arquivos .in são texto simples, qualquer editor pode abri-los e lê-los. Extensões relacionadas incluem .ac (arquivos de macro do Autoconf), .am (entrada do Automake) e .m4 (arquivos de macro M4). Observe que a extensão .in não é exclusiva do Autotools - o comando configure_file() do CMake também usa modelos .in - mas os desenvolvedores de software que trabalham com sistemas de compilação Autotools representam o caso de uso dominante.
Segurança e proteção
RISCO: LOWUm arquivo de modelo .in é texto simples e não pode executar código por si só. É seguro abrir em um editor de texto. O script configure que processa arquivos .in é um script de shell (que executa código) - aplica-se a cautela normal para executar ./configure de uma fonte não confiável. O arquivo .in em si é passivo.
Detalhes do formato
em resumo- Arquivo Interno/Temporário do McAfee VirusScan - Algumas versões do antivírus McAfee usam .in como uma extensão de arquivo interna para dados temporários ou relacionados à quarentena; não é um formato público documentado e raramente é encontrado pelos usuários.
- Modelo Genérico/Arquivo de Entrada - Muitos aplicativos usam .in como uma convenção genérica para qualquer modelo ou arquivo de entrada que é processado para produzir um arquivo de saída (por exemplo, o configure_file do CMake usa modelos .in).
- Entrada de Compilação de Módulo Perl - Alguns sistemas de compilação Perl/CPAN usam arquivos .in como modelos de entrada para arquivos gerados durante a instalação do módulo.
Programas que abrem arquivos IN
Detalhes técnicos
especificação profunda| Codificação de arquivo | Texto simples ASCII/UTF-8 |
| Função principal | Arquivo de modelo consumido pelo ./configure (gerado pelo GNU Autoconf) para produzir arquivos de saída de compilação finais |
| Sintaxe de espaço reservado | Marcadores @VARIABLE@ substituídos pelo configure por valores de sistema detectados (caminho do compilador, sinalizadores de biblioteca, sinalizadores de recursos) |
| Tipos de modelos comuns | Makefile.in → Makefile; config.h.in → config.h; foo.pc.in → foo.pc (metadados do pkg-config) |
| Estrutura do config.h.in | Contém diretivas #undef FEATURE; o configure as substitui por #define FEATURE 1 ou /* #undef FEATURE */ |
| configure.in vs configure.ac | configure.in é o nome antigo para a entrada de macro Autoconf de nível superior; renomeado para configure.ac no Autoconf 2.50 |
| Linguagem de macro M4 | Arquivos configure.in / configure.ac usam macros M4 e chamadas AC_* (AC_INIT, AC_PROG_CC, AC_CHECK_LIB, etc.) |
| Pipeline do Automake | Makefile.am (entrada do Automake) → Makefile.in (produzido pelo automake) → Makefile (produzido pelo ./configure) |
| Assinatura binária | Nenhuma - texto simples, sem magic bytes |
| Tamanho de arquivo típico | 1 KB-500 KB (configure.in normalmente 5-100 KB; Makefile.in varia amplamente pela complexidade do projeto) |
| Versão atual do Autoconf | GNU Autoconf 2.72, lançado em dezembro de 2023 |
| Plataforma | Principalmente Linux/macOS/Unix; disponível no Windows via MSYS2, Cygwin ou WSL |
| Extensões relacionadas | .ac (arquivos de macro Autoconf), .am (modelos de entrada Automake), .m4 (definições de macro M4 brutas) |
| Lançado | 1991 (GNU Autoconf 1.0 by David MacKenzie) |
| Versão mais recente | Autoconf 2.72 (December 2023) |
| Padrão aberto | Sim · livre de royalties |
| Especificação | www.gnu.org |
Conversões de IN
Perguntas e Respostas da Comunidade
perguntado por usuáriosAinda não há perguntas - seja o primeiro a perguntar sobre arquivos IN.