Co to jest format pliku IN?
Plik .in to tekstowy plik szablonu przetwarzany przez system budowania GNU Autotools. Najczęstszymi przykładami są Makefile.in (szablon dla pliku Makefile projektu) oraz config.h.in (szablon dla nagłówka konfiguracyjnego C/C++). Gdy programista uruchamia ./configure - skrypt wygenerowany przez GNU Autoconf - skrypt ten odczytuje szablony .in, zastępuje symbole zastępcze @VARIABLE@ wartościami wykrytymi w środowisku budowania (ścieżki kompilatora, flagi bibliotek, funkcje systemowe) i zapisuje końcowe pliki wyjściowe.
GNU Autoconf został stworzony przez Davida MacKenziego w 1991 roku i jest utrzymywany przez Projekt GNU. Autoconf 2.72 (grudzień 2023) to aktualne wydanie. Główny plik wejściowy makr był historycznie nazywany configure.in; w wersji Autoconf 2.50 zmieniono jego nazwę na configure.ac, aby zmniejszyć niejednoznaczność, choć wiele starszych projektów nadal używa oryginalnej nazwy.
Typowe rodzaje szablonów .in:
Makefile.in- staje się plikiemMakefilepo uruchomieniu./configureconfig.h.in- staje się plikiemconfig.hz podstawieniami#define//* #undef */foo.pc.in- staje się plikiem.pcdla pkg-config
Ponieważ pliki .in są zwykłym tekstem, każdy edytor może je otworzyć i odczytać. Powiązane rozszerzenia to .ac (pliki makr Autoconf), .am (wejście Automake) oraz .m4 (pliki makr M4). Należy zauważyć, że rozszerzenie .in nie jest wyłączne dla Autotools - polecenie configure_file() w CMake również używa szablonów .in - jednak programiści pracujący z systemami budowania Autotools stanowią dominujący przypadek użycia.
Bezpieczeństwo
RYZYKO: LOWPlik szablonu .in jest zwykłym tekstem i nie może samodzielnie wykonywać kodu. Można go bezpiecznie otwierać w edytorze tekstu. Skrypt configure, który przetwarza pliki .in, jest skryptem powłoki (który wykonuje kod) - obowiązuje standardowa ostrożność przy uruchamianiu ./configure z niezaufanego źródła. Sam plik .in jest pasywny.
Szczegóły formatu
w pigułce- Wewnętrzny/tymczasowy plik McAfee VirusScan - Niektóre wersje antywirusa McAfee używają .in jako wewnętrznego rozszerzenia dla danych tymczasowych lub związanych z kwarantanną; nie jest to udokumentowany format publiczny i jest rzadko spotykany przez użytkowników.
- Ogólny plik szablonu/wejściowy - Wiele aplikacji używa .in jako ogólnej konwencji dla dowolnego szablonu lub pliku wejściowego, który jest przetwarzany w celu wytworzenia pliku wyjściowego (np. configure_file w CMake używa szablonów .in).
- Wejście budowania modułu Perl - Niektóre systemy budowania Perl/CPAN używają plików .in jako szablonów wejściowych dla plików generowanych podczas instalacji modułu.
Programy otwierające pliki IN
Szczegóły techniczne
specyfikacja| Kodowanie pliku | Zwykły tekst ASCII/UTF-8 |
| Podstawowa rola | Plik szablonu używany przez ./configure (wygenerowany przez GNU Autoconf) do tworzenia końcowych plików wyjściowych budowania |
| Składnia symboli zastępczych | Znaczniki @VARIABLE@ zastępowane przez configure wykrytymi wartościami systemowymi (ścieżka kompilatora, flagi bibliotek, flagi funkcji) |
| Typowe rodzaje szablonów | Makefile.in → Makefile; config.h.in → config.h; foo.pc.in → foo.pc (metadane pkg-config) |
| Struktura config.h.in | Zawiera dyrektywy #undef FEATURE; configure zastępuje je przez #define FEATURE 1 lub /* #undef FEATURE */ |
| configure.in vs configure.ac | configure.in to starsza nazwa dla wejścia makr Autoconf najwyższego poziomu; zmieniona na configure.ac w Autoconf 2.50 |
| Język makr M4 | Pliki configure.in / configure.ac używają makr M4 i wywołań AC_* (AC_INIT, AC_PROG_CC, AC_CHECK_LIB itp.) |
| Potok Automake | Makefile.am (wejście Automake) → Makefile.in (wygenerowany przez automake) → Makefile (wygenerowany przez ./configure) |
| Sygnatura binarna | Brak - zwykły tekst, brak magicznych bajtów |
| Typowy rozmiar pliku | 1 KB-500 KB (configure.in zazwyczaj 5-100 KB; Makefile.in różni się znacznie w zależności od złożoności projektu) |
| Aktualna wersja Autoconf | GNU Autoconf 2.72, wydany w grudniu 2023 r. |
| Platforma | Głównie Linux/macOS/Unix; dostępny w Windows przez MSYS2, Cygwin lub WSL |
| Powiązane rozszerzenia | .ac (pliki makr Autoconf), .am (szablony wejściowe Automake), .m4 (surowe definicje makr M4) |
| Wydano | 1991 (GNU Autoconf 1.0 by David MacKenzie) |
| Najnowsza wersja | Autoconf 2.72 (December 2023) |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | www.gnu.org |
Konwersje IN
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki IN.