.S

S-fil

Assembly Language Source File
Stil et spørgsmål
HURTIGT SVAR

En .s-fil er en kildekodefil i assembly-sprog - almindelig tekst, der indeholder lavniveau CPU-instruktioner til en specifik processor som x86-64 eller ARM. Enhver teksteditor kan åbne den til gennemsyn. For at bygge den til et program skal du køre «gcc file.s -o program» på Linux eller macOS, eller bruge MinGW eller MASM på Windows. Filen er sikker at åbne; risikoen opstår kun, hvis du assembler og kører upålidelig kode.

Udvikler: N/A (compiler/toolchain convention - GNU, Unix C toolchains) Kategori: Udviklerfiler Åben standard MIME: text/x-asm
ÅBNER PÅ Windows macOS Linux
Relateret: .DO · .MD · .HEX · .XSD

På denne side

19k+ filtyper indekseret
Sidst gennemset Aug 4, 2026

Er du ikke sikker på, hvad din fil er?

Træk en fil over i vores identifikator - vi læser kun de første bytes for at navngive formatet.

Identificer en fil

Hvad er S-filformatet?

En .s-fil er en kildekodefil i assembly-sprog i almindeligt tekstformat, der bruges på tværs af Unix, Linux, macOS og indlejrede toolchains. Den indeholder læsbare CPU-instruktioner - mnemonics, operander, assembler-direktiver og labels - som en assembler oversætter direkte til objektkode.

.s-filtypen er en konvention fra Unix C-compiler-pipelinen, der stammer fra 1970'erne. Ved at køre gcc -S på en C-kildekodefil stoppes kompileringen efter kodegenerering, og der skrives en .s-fil, hvilket lader dig inspicere eller manuelt optimere compilerens output før assemblering. Denne fil sendes derefter til as (GNU-assembleren) for at producere en .o objektfil, der er klar til linkning.

En subtil, men vigtig konvention adskiller lille .s fra stort .S: .s-filer går direkte til assembleren, mens .S-filer først passerer gennem C-preprocessoren, hvilket tillader #include, #define og #ifdef direktiver - en sondring som kerne- og firmware-kodebaser læner sig tungt op ad.

Syntaksen varierer efter toolchain. GNU as bruger som standard AT&T-syntaks på x86; Windows-assemblere som MASM og Intel-stils NASM bruger Intel-syntaks. Det samme .s-fillayout bruges uanset mål-ISA - x86-64, ARM/AArch64, RISC-V, MIPS og andre - så selve filtypen formidler ingen information om arkitekturen.

.s-filer indeholder ingen magic bytes og har MIME-typen text/x-asm. Enhver teksteditor kan åbne dem; editorer med syntaksfremhævning til assembly, såsom VS Code, Vim og Emacs, foretrækkes til større filer. Den tæt beslægtede .asm filtype tjener samme formål på mange ikke-Unix toolchains.

Sikkerhed og tryghed

RISIKO: LOW

En .s-fil er almindelig tekst og gør intet i sig selv - den kan ikke køre, før du bevidst assembles og eksekverer den. Risikoen er den samme som ved enhver kildekode, du vælger at bygge: assembly kan indeholde instruktioner, der gør alt, hvad CPU'en tillader, så assembler og kør kun .s-filer fra kilder, du stoler på, og læs ukendt assembly, før du bygger den. Det er fuldstændig sikkert at åbne en .s-fil i en teksteditor for at se den.

Formatdetaljer

kort fortalt
FULDSTÆNDIGT NAVNAssembly Language Source Fileogså kendt som Assembly source, Assembler source
UDVIKLERN/A (compiler/toolchain convention - GNU, Unix C toolchains)siden 1970s (Unix C compiler toolchain convention)
MIME-TYPEtext/x-asm
TYPEAlmindelig tekst assembly-kildekode
STANDARDÅben · royaltyfri
Dette filtypenavn bruges også af…
  • S-programmeringssprog kildekode - Kildekode til det statistiske sprog S (forgængeren til R); sjælden i dag, ses stadig i ældre statistik-kode.
  • Scheme-kildekode (ucommon) - Lejlighedsvis en Scheme/Lisp kildekodefil, selvom .scm er den sædvanlige filtype.

Programmer der åbner S-filer

Windows3 apps
Notepad Open-source Åbn direkte; Sprog-menuen har Assembly-fremhævning. Letvægtsvisning/redigering.
Visual Studio Code Gratis Åbn .s-filen; installer en «x86/ARM Assembly» udvidelse for syntaksfremhævning. Rediger som almindelig tekst.
MASM / MinGW-w64 GCC (to assemble) Gratis For at bygge den: «gcc file.s -o program.exe» (MinGW) eller «ml64» (Visual Studios MASM).
macOS2 apps
Visual Studio Code Gratis Åbn .s-filen; installer en «x86/ARM Assembly» udvidelse for syntaksfremhævning. Rediger som almindelig tekst.
Xcode command-line tools (clang/as) Gratis Installer med «xcode-select --install», og assembler derefter ved hjælp af clang/as fra Terminalen.
Linux3 apps
GNU as (binutils) + GCC Open-source Assembler med «as file.s -o file.o» eller byg direkte med «gcc file.s -o program». Standard-toolchainen.
GNU Emacs / Vim Open-source Åbn i asm-mode (Emacs) eller med syntaksfremhævning (Vim) for at læse og redigere.
gedit / any text editor Open-source Åbn som almindelig tekst for hurtig visning; gedit fremhæver gængse assembly-syntakser.

Tekniske detaljer

dyb specifikation
FiltypeAlmindelig tekst assembly-sprog kildekode
MIME-typetext/x-asm (også accepteret: text/x-assembly, text/plain)
KodningASCII / UTF-8
Filsignatur (magic bytes)Ingen - almindelig tekst uden fast header; begynder typisk med en kommentar (#, ;), en label (slutter med :) eller et direktiv såsom .text eller .global
LinjestrukturValgfri label, assembler-direktiv eller CPU-mnemonic med operander, inline kommentar - én logisk operation pr. linje
Konvention for store/små bogstaverLille .s-fil assembles direkte; stort .S-fil køres først gennem C-preprocessoren (understøtter #include, #define, #ifdef)
Compiler-outputgcc -S eller clang -S udsender en .s-fil fra C/C++ kildekode, hvilket stopper byggeprocessen efter kodegenerering og før assemblering
Understøttede ISA'erx86-64, ARM/AArch64, RISC-V, MIPS, POWER/PowerPC, AVR og andre - filtypen er ISA-neutral
SyntaksvarianterAT&T-syntaks (standard for GNU as på x86), Intel-syntaks (MASM, NASM), ARM Unified Assembly Language (UAL)
Almindelige assembler-direktiver.text, .data, .bss, .global, .section, .align, .byte, .word, .long, .string
ToolchainsGNU Binutils (as), LLVM/Clang integreret assembler, Microsoft MASM, NASM, yasm, armasm
Rolle i byggeprocessenMellemliggende tekststadie mellem compilerens kodegenerering og oprettelse af objektfil; assembles af as eller tilsvarende for at producere en .o-fil
Preprocessing-understøttelse.S-varianten (stort bogstav) sendes gennem cpp før assemblering, hvilket muliggør betinget kompilering og makro-ekspansion inde i asm-kilden
Typisk filstørrelse1 KB - 500 KB
Associerede miljøerLinux, Unix, macOS, Windows, indlejrede systemer/bare-metal (mikrocontrollere, kerne-opstartskode, bootloadere)
Udgivet1970s (Unix C compiler toolchain convention)
Seneste versionN/A (no versioned spec; depends on target CPU ISA and assembler)
Åben standardJa · royaltyfri
Specifikationsourceware.org

S-konverteringer

Fællesskabets Q&A

spurgt af brugere
Stil et hurtigt spørgsmål
Få hjælp fra folk, der arbejder med S-filer. Vær specifik - medtag dit system og din softwareversion.
Ingen konto nødvendig · svar normalt inden for en dag

Ingen spørgsmål endnu - vær den første til at spørge om S-filer.

Ofte stillede spørgsmål

Hvad er en .s-fil?
Det er en kildekodefil i assembly-sprog - almindelig tekst med lavniveau CPU-instruktioner til en specifik processor (x86, ARM, RISC-V osv.). Det er det, en C-compiler udsender, før den producerer maskinkode, og det, som håndskrevet assembly gemmes som.
Hvordan åbner jeg en .s-fil?
Åbn den i en hvilken som helst teksteditor eller IDE - VS Code, Notepad++, vim, Emacs. For rent faktisk at bygge den skal du bruge en assembler/toolchain såsom GNU as eller «gcc file.s -o program».
Hvad er forskellen på .s og .S?
Lille .s er ren assembly, som assembleren læser direkte. Stort .S er assembly, der først køres gennem C-preprocessoren, så den kan bruge #include, #define og #ifdef (almindeligt i OS/kerne-kode). Der er forskel på store og små bogstaver på Unix/Linux.
Hvordan kompilerer jeg en .s-fil?
På Linux/macOS: «gcc file.s -o program» (assembler + link) eller «as file.s -o file.o» (kun assembler). På Windows skal du bruge MinGW's gcc eller MASM's ml64. Du skal bruge den assembler, der matcher filens CPU og syntaks.
Kan jeg konvertere assembly (.s) tilbage til C?
Ikke nøjagtigt. Assembly fjerner den højniveau-struktur, som C kræver, så der findes ingen ægte .s-til-C-konverter. Decompilere som Ghidra producerer tilnærmet C fra kompilerede binære filer, ikke ækvivalent kildekode.
Er .s det samme som .asm?
De er begge assembly-kildekode. .s er Unix/GNU-konventionen (ofte AT&T-syntaks via GNU as); .asm er mere almindelig på Windows/DOS (NASM, MASM, ofte Intel-syntaks). CPU'en og assembleren bestemmer dialekten, ikke filtypen.

Referencer

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

Udforsk mere

på tværs af databasen

Populære filtyper i denne uge

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

Relaterede filtyper

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

Gratis filværktøjer

En fil-identifikator og billedkonverter direkte i browseren - alt kører på din enhed.

Åbn værktøjskassen

Gennemse filtyper A-Å