.S

S-fil

Assembly Language Source File
Still et spørsmål
HURTIGSVAR

En .s-fil er en kildekodefil i assemblerspråk - ren tekst som inneholder lavnivå CPU-instruksjoner for en spesifikk prosessor som x86-64 eller ARM. Alle tekstredigeringsprogrammer kan åpne den for visning. For å bygge den til et program, kjør «gcc file.s -o program» på Linux eller macOS, eller bruk MinGW eller MASM på Windows. Filen er trygg å åpne; risiko oppstår først hvis du assembler og kjører upålitelig kode.

Utvikler: N/A (compiler/toolchain convention - GNU, Unix C toolchains) Kategori: Utviklerfiler Åpen standard MIME: text/x-asm
ÅPNES PÅ Windows macOS Linux
Relatert: .DO · .MD · .HEX · .XSD

På denne siden

19k+ filendelser indeksert
Sist vurdert Aug 4, 2026

Usikker på hva filen din er?

Slipp hvilken som helst fil inn i vår identifikator - vi leser bare de første bytene for å navngi formatet.

Identifiser en fil

Hva er S-filformatet?

En .s-fil er en kildekodefil i assemblerspråk i ren tekst som brukes på tvers av Unix, Linux, macOS og innebygde verktøykjeder. Den inneholder menneskelig lesbare CPU-instruksjoner - mnemonics, operander, assemblerdirektiver og etiketter - som en assembler oversetter direkte til objektkode.

Utvidelsen .s er en konvensjon fra Unix C-kompilatorer som dateres tilbake til 1970-tallet. Ved å kjøre gcc -S på en C-kildekodefil stoppes kompileringen etter kodegenerering og skriver en .s-fil, slik at du kan inspisere eller finjustere kompilatorens utdata før assemblering. Den filen sendes deretter til as (GNU-assembleren) for å produsere en .o-objektfil klar for lenking.

En subtil, men viktig konvensjon skiller liten .s fra stor .S: .s-filer går direkte til assembleren, mens .S-filer går gjennom C-preprosessoren først, noe som tillater direktiver som #include, #define og #ifdef - et skille som kjerne- og fastvarekoder baserer seg tungt på.

Syntaksen varierer etter verktøykjede. GNU as bruker som standard AT&T-syntaks på x86; Windows-assemblere som MASM og Intel-stil NASM bruker Intel-syntaks. Det samme .s-filoppsettet brukes uavhengig av mål-ISA - x86-64, ARM/AArch64, RISC-V, MIPS og andre - så selve utvidelsen formidler ingen informasjon om arkitektur.

.s-filer har ingen magic bytes og har MIME-typen text/x-asm. Alle tekstredigeringsprogrammer kan åpne dem; redigeringsprogrammer med syntaksutheving for assembler som VS Code, Vim og Emacs foretrekkes for større filer. Den nært beslektede .asm-utvidelsen tjener samme formål på mange ikke-Unix-verktøykjeder.

Sikkerhet og trygghet

RISIKO: LOW

En .s-fil er ren tekst og gjør ingenting alene - den kan ikke kjøre før du bevisst assembler og utfører den. Risikoen er den samme som for all kildekode du velger å bygge: assembler kan inneholde instruksjoner som gjør alt CPU-en tillater, så bare assembler og kjør .s-filer fra kilder du stoler på, og les ukjent assembler før du bygger den. Å åpne en .s i et tekstredigeringsprogram for å se på den er helt trygt.

Formatdetaljer

i et nøtteskall
FULLT NAVNAssembly Language Source Fileogså kjent som Assembly source, Assembler source
UTVIKLERN/A (compiler/toolchain convention - GNU, Unix C toolchains)siden 1970s (Unix C compiler toolchain convention)
MIME-TYPEtext/x-asm
TYPEKildekode for assembler i ren tekst
STANDARDÅpen · royalty-fri
Denne filendelsen brukes også av…
  • S-programmeringsspråk kildekode - Kildekode for det statistiske språket S (forgjengeren til R); sjelden i dag, men sees fortsatt i eldre statistikk-kode.
  • Scheme-kildekode (uvanlig) - Noen ganger en Scheme/Lisp-kildekodefil, selv om .scm er den vanlige utvidelsen.

Programmer som åpner S-filer

Windows3 apps
Notepad Åpen kildekode Åpne direkte; Språk-menyen har utheving for Assembly. Lettvektig visning/redigering.
Visual Studio Code Gratis Åpne .s-filen; installer en «x86/ARM Assembly»-utvidelse for syntaksutheving. Rediger som ren tekst.
MASM / MinGW-w64 GCC (to assemble) Gratis For å bygge den: «gcc file.s -o program.exe» (MinGW) eller «ml64» (Visual Studios MASM).
macOS2 apps
Visual Studio Code Gratis Åpne .s-filen; installer en «x86/ARM Assembly»-utvidelse for syntaksutheving. Rediger som ren tekst.
Xcode command-line tools (clang/as) Gratis Installer med «xcode-select --install», og assembler deretter ved hjelp av clang/as fra Terminal.
Linux3 apps
GNU as (binutils) + GCC Åpen kildekode Assembler med «as file.s -o file.o» eller bygg direkte med «gcc file.s -o program». Referanseverktøykjeden.
GNU Emacs / Vim Åpen kildekode Åpne i asm-mode (Emacs) eller med syntaksutheving (Vim) for å lese og redigere.
gedit / any text editor Åpen kildekode Åpne som ren tekst for rask visning; gedit uthever vanlige assembler-syntakser.

Tekniske detaljer

dyp spesifikasjon
FiltypeKildekode for assemblerspråk i ren tekst
MIME-typetext/x-asm (også akseptert: text/x-assembly, text/plain)
KodingASCII / UTF-8
Filsignatur (magic bytes)Ingen - ren tekst uten fast hode; begynner vanligvis med en kommentar (#, ;), en etikett (slutter med :), eller et direktiv som .text eller .global
LinjestrukturValgfri etikett, assemblerdirektiv eller CPU-mnemonic med operander, innebygd kommentar - én logisk operasjon per linje
Konvensjon for store/små bokstaverLiten .s bles assemblert direkte; stor .S kjøres først gjennom C-preprosessoren (støtter #include, #define, #ifdef)
Kompilator-emisjongcc -S eller clang -S sender ut en .s-fil fra C/C++ kildekode, og stopper byggeprosessen etter kodegenerering og før assemblering
Støttede ISA-erx86-64, ARM/AArch64, RISC-V, MIPS, POWER/PowerPC, AVR, og andre - utvidelsen er ISA-nøytral
SyntaksvarianterAT&T-syntaks (standard for GNU as på x86), Intel-syntaks (MASM, NASM), ARM Unified Assembly Language (UAL)
Vanlige assemblerdirektiver.text, .data, .bss, .global, .section, .align, .byte, .word, .long, .string
VerktøykjederGNU Binutils (as), LLVM/Clang integrert assembler, Microsoft MASM, NASM, yasm, armasm
Rolle i byggeprosessenMellomliggende tekststadium mellom kompilatorkodegenerering og opprettelse av objektfil; assemblert av as eller tilsvarende for å produsere en .o-fil
Preprosesseringsstøtte.S-varianten (stor bokstav) sendes gjennom cpp før assemblering, noe som muliggjør betinget kompilering og makroekspansjon inne i asm-kilden
Typisk filstørrelse1 KB - 500 KB
Tilknyttede miljøerLinux, Unix, macOS, Windows, innebygd/bare-metal (mikrokontrollere, kjerneoppstartskode, bootloadere)
Utgitt1970s (Unix C compiler toolchain convention)
Siste versjonN/A (no versioned spec; depends on target CPU ISA and assembler)
Åpen standardJa · royalty-fri
Spesifikasjonsourceware.org

S-konverteringer

Spørsmål og svar fra fellesskapet

spurt av brukere
Still et raskt spørsmål
Få hjelp fra folk som jobber med S-filer. Vær spesifikk - inkluder systemet ditt og programvareversjon.
Ingen konto nødvendig · svar vanligvis innen en dag

Ingen spørsmål ennå - vær den første til å spørre om S-filer.

Ofte stilte spørsmål

Hva er en .s-fil?
Det er en kildekodefil i assemblerspråk - ren tekst med lavnivå CPU-instruksjoner for en spesifikk prosessor (x86, ARM, RISC-V, osv.). Det er dette en C-kompilator sender ut før den produserer maskinkode, og det er slik håndskrevet assembler lagres.
Hvordan åpner jeg en .s-fil?
Åpne den i et hvilket som helst tekstredigeringsprogram eller IDE - VS Code, Notepad++, vim, Emacs. For å faktisk bygge den, bruk en assembler/verktøykjede som GNU as eller «gcc file.s -o program».
Hva er forskjellen mellom .s og .S?
Liten .s er ren assembler som assembleren leser direkte. Stor .S er assembler som først kjøres gjennom C-preprosessoren, slik at den kan bruke #include, #define og #ifdef (vanlig i OS/kjerne-kode). Store og små bokstaver betyr noe på Unix/Linux.
Hvordan kompilerer jeg en .s-fil?
På Linux/macOS: «gcc file.s -o program» (assembler + lenking) eller «as file.s -o file.o» (bare assemblering). På Windows bruker du MinGW sin gcc eller MASM sin ml64. Du trenger assembleren som samsvarer med filens CPU og syntaks.
Kan jeg konvertere assembler (.s) tilbake til C?
Ikke nøyaktig. Assembler fjerner den høynivåstrukturen C trenger, så det finnes ingen ekte .s-til-C-konverterer. Dekompilatorer som Ghidra produserer tilnærmet C fra kompilerte binærfiler, ikke tilsvarende kildekode.
Er .s det samme som .asm?
Begge er kildekode for assembler. .s er Unix/GNU-konvensjonen (ofte AT&T-syntaks via GNU as); .asm er mer vanlig på Windows/DOS (NASM, MASM, ofte Intel-syntaks). CPU-en og assembleren bestemmer dialekten, ikke utvidelsen.

Referanser

1GNU Assembler (as) manual - Sourcewaresourceware.org
2GCC - Overall options (-S emits assembly)gcc.gnu.org

Utforsk videre

på tvers av databasen

Populære filendelser denne uken

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.DATProgram Data File (generic)
4.BINCD/DVD Disc Image (BIN/CUE)
5.PARTPartial Download File
6.EXEWindows Executable (Portable Executable)
7.NOMEDIAAndroid No-Media Marker File
8.RPMSGRestricted Permission Message
9.TXTPlain Text File
10.MDMarkdown Document

Relaterte filendelser

.DOStata Do-File
.MDMarkdown Document
.HEXIntel HEX File
.XSDXML Schema Definition
.MAPSource Map (JavaScript / CSS)
.CONFIGConfiguration File

Gratis filverktøy

En filidentifikator og bildekonvertering i nettleseren - alt kjører på din enhet.

Åpne verktøykassen

Bla i filendelser A-Å