Wat is het ADS-bestandsformaat?
Een .ads-bestand is een Ada-pakketspecificatie - de interface-helft van een Ada-pakket. Onder de GNAT-compiler naamgevingsconventie (de de-facto standaard in het Ada-ecosysteem), is elk Ada-pakket verdeeld over twee bestanden: de specificatie in .ads en de implementatie-body in een .adb-bestand.
Het .ads-bestand declareert wat publiekelijk zichtbaar is voor andere compilatie-eenheden: types, subtypes, constanten, subprogramma-signaturen (procedure- en functieprofielen), taaktypes en generieke parameters. Het bevat geen uitvoerbare code of subprogramma-bodies - alleen de declaraties die het contract vormen waar andere pakketten van afhankelijk zijn.
Syntactisch begint een specificatie met package <Name> is en sluit af met end <Name>;. Contextclausules (with- en use-statements) bovenaan vermelden de pakketten waarvan de specificatie afhankelijk is. Ada-commentaren beginnen met --.
Het formaat is platte UTF-8 (of ASCII) tekst met MIME-type text/x-ada. Er zijn geen magic bytes; bestanden worden geïdentificeerd door hun Ada-bronstructuur. Het gebruikte Ada-dialect - Ada 83, 95, 2005, 2012 of Ada 2022 (ISO/IEC 8652:2023) - wordt beheerd door GNAT-compilerflags zoals -gnat2022 of een pragma Ada_2022 op bronniveau.
.ads-bestanden worden geopend in GNAT Studio, Visual Studio Code met de Ada/SPARK-extensie, of elke platte-tekstverwerker. De GNAT-toolchain compileert ze samen met hun .adb-bodies; de bouwcoördinatie wordt afgehandeld door een .gpr-projectbestand.
Beveiliging & veiligheid
RISICO: LOWEen .ads-bestand is platte Ada-brontekst en kan niet uit zichzelf draaien, dus het openen om het te lezen is veilig. De normale voorzichtigheid voor broncode is van toepassing: controleer code van onvertrouwde bronnen voordat je deze compileert en uitvoert, aangezien het omliggende project een uitvoerbaar bestand zal produceren. Er is geen DRM, versleuteling of speciale behandeling - behandel het als elk tekst-/codebestand. Installeer de GNAT-toolchain alleen vanuit officiële bronnen (AdaCore/GCC).
Formaatdetails
in een notendop- Advertentie- / ad-serving bestand - Sommige advertentiesystemen en AdSense-gerelateerde tools gebruiken .ads voor advertentie-inhoud of ad-tag bestanden; niet gerelateerd aan Ada-broncode.
- Generiek 'adresboek' / instellingen-export - Een paar verouderde programma's slaan instellingen of adresgegevens op met een .ads-extensie; identificeer aan de hand van de oorspronkelijke applicatie.
Programma's die ADS-bestanden openen
gcc -c file.ads voor syntaxcontrole van de specificatie). Technische details
diepe specificaties| Bestandstype | Platte-tekst Ada-bron - de specificatie-helft (interface) van een Ada-pakket |
| MIME-type | text/x-ada (ook geaccepteerd als text/plain) |
| Tekstcodering | UTF-8 of ASCII; historisch Latin-1; GNAT-codering selecteerbaar via -gnatiX flag |
| Binaire signatuur | Geen - platte tekst; geïdentificeerd door Ada-sleutelwoordstructuur (package <Name> is … end <Name>;) |
| Typische bestandsgrootte | 1 KB - 100 KB (alleen specificatie-declaraties; bodies staan in de bijbehorende .adb) |
| GNAT-naamgevingsregel | Basisnaam moet overeenkomen met de pakketnaam, in kleine letters met punten vervangen door streepjes - bijv. Ada.Containers wordt ada-containers.ads |
| Structuur | Optionele with/use contextclausules, dan package <Name> is, publieke declaraties, optionele private sectie, end <Name>; |
| Inhoudsbeperking | Alleen declaraties - types, subtypes, constanten, subprogramma-profielen, generics; geen uitvoerbare code of bodies |
| Zichtbaarheidsmodel | Publieke deel zichtbaar voor alle afhankelijke pakketten; private sectie alleen toegankelijk binnen het pakket en zijn kinderen |
| Taaldialect | Ada 83 / 95 / 2005 / 2012 / 2022 geselecteerd via GNAT -gnatXX flags of pragma Ada_XXXX in broncode |
| Gecompileerde uitvoer | GNAT produceert een .ali (Ada Library Information) bestand en objectbestand (.o) voor elk gecompileerd .ads/.adb-paar |
| Bouwcoördinatie | GNAT Projectbestand (.gpr) vermeldt .ads-bronnen en beheert compilatie-instellingen per eenheid |
| Platformondersteuning | Cross-platform: Linux, Windows, macOS en embedded doelen (VxWorks, RTEMS, bare-metal ARM, RISC-V) |
| Compiler-ecosysteem | GNAT (GCC Ada front-end, AdaCore), GNAT LLVM, PTC ObjectAda, Green Hills MULTI Ada |
| Uitgebracht | 1980 (Ada language); .ads/.adb naming from GNAT (early 1990s) |
| Laatste versie | Ada 2022 (ISO/IEC 8652:2023) |
| Open standaard | Ja · royaltyvrij |
| Specificatie | www.adaic.org |
ADS conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over ADS-bestanden.
Veelgestelde vragen
Hoe open ik een ADS-bestand?
Wat is het verschil tussen .ads en .adb?
Hoe compileer ik een .ads-bestand?
gcc -c file.ads (met de Ada-front-end) voert een syntaxcontrole uit op een specificatie.