.S

S Datei

Assembly Language Source File
Frage stellen
SCHNELLE ANTWORT

Eine .s-Datei ist eine Assembly-Quellcodedatei - reiner Text, der maschinennahe CPU-Befehle für einen bestimmten Prozessor wie x86-64 oder ARM enthält. Jeder Texteditor kann sie zur Ansicht öffnen. Um sie in ein Programm zu kompilieren, führen Sie „gcc file.s -o program” unter Linux oder macOS aus, oder nutzen Sie MinGW oder MASM unter Windows. Die Datei ist sicher zu öffnen; ein Risiko besteht nur, wenn Sie nicht vertrauenswürdigen Code assemblieren und ausführen.

Entwickler: N/A (compiler/toolchain convention - GNU, Unix C toolchains) Kategorie: Developerdateien Offener Standard MIME: text/x-asm
VERFÜGBAR AUF Windows macOS Linux
Verwandt: .DO · .MD · .HEX · .XSD

Auf dieser Seite

19k+ Erweiterungen indexiert
Zuletzt geprüft Aug 4, 2026

Nicht sicher, was Ihre Datei ist?

Legen Sie eine beliebige Datei in unseren Identifikator - wir lesen nur die ersten Bytes, um das Format zu benennen.

Datei identifizieren

Was ist das S-Dateiformat?

Eine .s-Datei ist eine reine Textdatei mit Assembly-Quellcode, die in Unix, Linux, macOS und eingebetteten Toolchains verwendet wird. Sie enthält für Menschen lesbare CPU-Befehle - Mnemonics, Operanden, Assembler-Direktiven und Labels -, die ein Assembler direkt in Objektcode übersetzt.

Die Dateiendung .s ist eine Konvention der Unix-C-Compiler-Pipeline, die bis in die 1970er Jahre zurückreicht. Das Ausführen von gcc -S auf einer C-Quelldatei stoppt die Kompilierung nach der Codegenerierung und schreibt eine .s-Datei, sodass Sie die Ausgabe des Compilers prüfen oder manuell optimieren können, bevor sie assembliert wird. Diese Datei wird dann an as (den GNU-Assembler) übergeben, um eine .o-Objektdatei für das Linking zu erstellen.

Eine subtile, aber wichtige Konvention unterscheidet das kleingeschriebene .s vom großgeschriebenen .S: .s-Dateien gehen direkt an den Assembler, während .S-Dateien zuerst den C-Präprozessor durchlaufen, was Direktiven wie #include, #define und #ifdef ermöglicht - eine Unterscheidung, auf die Kernel- und Firmware-Codebasen stark angewiesen sind.

Die Syntax variiert je nach Toolchain. GNU as verwendet standardmäßig die AT&T-Syntax auf x86; Windows-Assembler wie MASM und NASM im Intel-Stil nutzen die Intel-Syntax. Das Layout der .s-Datei ist unabhängig von der Ziel-ISA - x86-64, ARM/AArch64, RISC-V, MIPS und andere - gleich, weshalb die Endung selbst keine Informationen über die Architektur vermittelt.

.s-Dateien enthalten keine Magic Bytes und haben den MIME-Typ text/x-asm. Jeder Texteditor kann sie öffnen; Editoren mit Assembly-Syntax-Highlighting wie VS Code, Vim und Emacs werden für größere Dateien bevorzugt. Die eng verwandte Endung .asm dient in vielen Nicht-Unix-Toolchains demselben Zweck.

Sicherheit

RISIKO: LOW

Eine .s-Datei ist reiner Text und tut von sich aus nichts - sie kann nicht ausgeführt werden, bis Sie sie bewusst assemblieren und starten. Das Risiko ist dasselbe wie bei jedem Quellcode, den Sie bauen: Assembly kann Befehle enthalten, die alles tun, was die CPU erlaubt. Assemblieren und führen Sie daher nur .s-Dateien aus Quellen aus, denen Sie vertrauen, und lesen Sie unbekannten Code vor dem Bauen. Das Öffnen einer .s-Datei in einem Texteditor zur Ansicht ist völlig sicher.

Formatdetails

kurz gefasst
VOLLSTÄNDIGER NAMEAssembly Language Source Filealias Assembly source, Assembler source
ENTWICKLERN/A (compiler/toolchain convention - GNU, Unix C toolchains)seit 1970s (Unix C compiler toolchain convention)
MIME TYPEtext/x-asm
TYPAssembly-Quellcode (Klartext)
STANDARDOffen · lizenzfrei
Diese Erweiterung wird auch verwendet von…
  • S-Programmiersprache Quellcode - Quellcode für die Statistiksprache S (Vorgänger von R); heute selten, noch in altem Statistik-Code zu finden.
  • Scheme-Quellcode (unüblich) - Gelegentlich eine Scheme/Lisp-Quelldatei, obwohl .scm die übliche Endung ist.

Programme zum Öffnen von S-Dateien

Windows3 apps
Notepad Open Source Direkt öffnen; das Menü „Sprachen” bietet Assembly-Highlighting. Leichtgewichtiges Anzeigen und Bearbeiten.
Visual Studio Code Kostenlos Öffnen Sie die .s-Datei; installieren Sie eine „x86/ARM Assembly”-Erweiterung für Syntax-Highlighting. Bearbeitung als Klartext.
MASM / MinGW-w64 GCC (to assemble) Kostenlos Zum Bauen: „gcc file.s -o program.exe” (MinGW) oder „ml64” (Visual Studios MASM).
macOS2 apps
Visual Studio Code Kostenlos Öffnen Sie die .s-Datei; installieren Sie eine „x86/ARM Assembly”-Erweiterung für Syntax-Highlighting. Bearbeitung als Klartext.
Xcode command-line tools (clang/as) Kostenlos Mit „xcode-select --install” installieren, dann mit clang/as über das Terminal assemblieren.
Linux3 apps
GNU as (binutils) + GCC Open Source Assemblieren mit „as file.s -o file.o” oder direkt bauen mit „gcc file.s -o program”. Die Referenz-Toolchain.
GNU Emacs / Vim Open Source Im asm-mode (Emacs) oder mit Syntax-Highlighting (Vim) öffnen, um zu lesen und zu bearbeiten.
gedit / any text editor Open Source Als Klartext für eine schnelle Ansicht öffnen; gedit hebt gängige Assembly-Syntaxen hervor.

Technische Details

technische Spezifikation
DateitypAssembly-Quellcode in Klartext
MIME-Typtext/x-asm (auch akzeptiert: text/x-assembly, text/plain)
KodierungASCII / UTF-8
Dateisignatur (Magic Bytes)Keine - Klartext ohne festen Header; beginnt typischerweise mit einem Kommentar (#, ;), einem Label (endet auf :) oder einer Direktive wie .text oder .global
ZeilenstrukturOptionales Label, Assembler-Direktive oder CPU-Mnemonic mit Operanden, Inline-Kommentar - eine logische Operation pro Zeile
Groß-/KleinschreibungKleingeschriebenes .s wird direkt assembliert; großgeschriebenes .S wird zuerst durch den C-Präprozessor geleitet (unterstützt #include, #define, #ifdef)
Compiler-Ausgabegcc -S oder clang -S gibt eine .s-Datei aus C/C++-Quellcode aus und stoppt die Build-Pipeline nach der Codegenerierung und vor der Assemblierung
Unterstützte ISAsx86-64, ARM/AArch64, RISC-V, MIPS, POWER/PowerPC, AVR und andere - die Endung ist ISA-neutral
Syntax-VariantenAT&T-Syntax (Standard bei GNU as auf x86), Intel-Syntax (MASM, NASM), ARM Unified Assembly Language (UAL)
Gängige Assembler-Direktiven.text, .data, .bss, .global, .section, .align, .byte, .word, .long, .string
ToolchainsGNU Binutils (as), LLVM/Clang integrierter Assembler, Microsoft MASM, NASM, yasm, armasm
Rolle in der Build-PipelineZwischenstadium im Textformat zwischen der Codegenerierung des Compilers und der Erstellung der Objektdatei; assembliert durch as oder Äquivalente zur Erzeugung einer .o-Datei
Präprozessor-UnterstützungDie .S-Variante (großgeschrieben) wird vor der Assemblierung durch cpp geleitet, was bedingte Kompilierung und Makro-Expansion im Quellcode ermöglicht
Typische Dateigröße1 KB - 500 KB
Zugehörige UmgebungenLinux, Unix, macOS, Windows, Embedded/Bare-Metal (Mikrocontroller, Kernel-Startup-Code, Bootloader)
Veröffentlicht1970s (Unix C compiler toolchain convention)
Neueste VersionN/A (no versioned spec; depends on target CPU ISA and assembler)
Offener StandardJa · lizenzgebührenfrei
Spezifikationsourceware.org

S-Konvertierungen

Community Q&A

von Nutzern gefragt
Schnelle Frage stellen
Holen Sie sich Hilfe von Menschen, die mit S-Dateien arbeiten. Seien Sie konkret - geben Sie Ihr System und die Softwareversion an.
Kein Konto erforderlich · Antworten meist innerhalb eines Tages

Noch keine Fragen - stellen Sie die erste Frage zu S-Dateien.

Häufig gestellte Fragen

Was ist eine .s-Datei?
Es ist eine Assembly-Quellcodedatei - reiner Text mit maschinennahen CPU-Befehlen für einen bestimmten Prozessor (x86, ARM, RISC-V usw.). Es ist das, was ein C-Compiler ausgibt, bevor er Maschinencode erzeugt, und das Format, in dem handgeschriebener Assembler-Code gespeichert wird.
Wie öffne ich eine .s-Datei?
Öffnen Sie sie in einem beliebigen Texteditor oder einer IDE - VS Code, Notepad++, vim, Emacs. Um sie tatsächlich zu bauen, verwenden Sie einen Assembler oder eine Toolchain wie GNU as oder „gcc file.s -o program”.
Was ist der Unterschied zwischen .s und .S?
Kleingeschriebenes .s ist reiner Assembler-Code, den der Assembler direkt liest. Großgeschriebenes .S ist Assembler-Code, der zuerst durch den C-Präprozessor läuft, sodass er #include, #define und #ifdef verwenden kann (üblich in OS- und Kernel-Code). Die Groß-/Kleinschreibung ist unter Unix/Linux relevant.
Wie kompiliere ich eine .s-Datei?
Unter Linux/macOS: „gcc file.s -o program” (assemblieren + linken) oder „as file.s -o file.o” (nur assemblieren). Unter Windows verwenden Sie den gcc von MinGW oder MASM (ml64). Sie benötigen den Assembler, der zur CPU und Syntax der Datei passt.
Kann ich Assembly (.s) zurück in C konvertieren?
Nicht originalgetreu. Assembly verliert die High-Level-Struktur, die C benötigt, daher gibt es keinen echten .s-zu-C-Konverter. Decompiler wie Ghidra erzeugen ungefähren C-Code aus kompilierten Binärdateien, aber keinen äquivalenten Quellcode.
Ist .s das Gleiche wie .asm?
Beide sind Assembly-Quellcode. .s ist die Unix/GNU-Konvention (oft AT&T-Syntax via GNU as); .asm ist unter Windows/DOS gebräuchlicher (NASM, MASM, oft Intel-Syntax). Die CPU und der Assembler bestimmen den Dialekt, nicht die Dateiendung.

Quellen

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

Weiter entdecken

in der Datenbank

Top-Erweiterungen dieser Woche

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.MDMarkdown Document
4.BINCD/DVD Disc Image (BIN/CUE)
5.PARTPartial Download File
6.RPMSGRestricted Permission Message
7.NOMEDIAAndroid No-Media Marker File
8.EXEWindows Executable (Portable Executable)
9.AVIFAV1 Image File Format (AVIF)
10.ICSiCalendar data file

Verwandte Erweiterungen

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

Kostenlose Datei-Tools

Ein Browser-Dateiidentifikator und Bildkonverter - alles läuft auf Ihrem Gerät.

Toolbox öffnen

Dateierweiterungen A-Z durchsuchen