.S

Plik S

Assembly Language Source File
Zadaj pytanie
SZYBKA ODPOWIEDŹ

Plik .s to plik źródłowy języka asemblera - zwykły tekst zawierający niskopoziomowe instrukcje procesora dla konkretnej architektury, takiej jak x86-64 lub ARM. Każdy edytor tekstu otwiera go do wglądu. Aby zbudować z niego program, uruchom „gcc file.s -o program” na systemie Linux lub macOS, albo użyj MinGW lub MASM na Windows. Plik jest bezpieczny do otwarcia; ryzyko pojawia się dopiero w przypadku asemblacji i uruchomienia niezaufanego kodu.

Deweloper: N/A (compiler/toolchain convention - GNU, Unix C toolchains) Kategoria: Pliki developerskie Otwarty standard MIME: text/x-asm
OTWIERA SIĘ NA Windows macOS Linux
Powiązane: .DO · .MD · .HEX · .XSD

Na tej stronie

Zindeksowano 19k+ rozszerzeń
Ostatnia weryfikacja Aug 4, 2026

Nie wiesz, co to za plik?

Przeciągnij dowolny plik do naszego identyfikatora - odczytujemy tylko pierwsze bajty, aby nazwać format.

Zidentyfikuj plik

Co to jest format pliku S?

Plik .s to tekstowy plik źródłowy języka asemblera używany w systemach Unix, Linux, macOS oraz w łańcuchach narzędzi dla systemów wbudowanych. Zawiera on czytelne dla człowieka instrukcje procesora - mnemoniki, operandy, dyrektywy asemblera i etykiety - które asembler tłumaczy bezpośrednio na kod obiektowy.

Rozszerzenie .s to konwencja potoku kompilatora C w systemie Unix datowana na lata 70. XX wieku. Uruchomienie gcc -S na pliku źródłowym C zatrzymuje kompilację po wygenerowaniu kodu i zapisuje plik .s, co pozwala na inspekcję lub ręczne dostrojenie wyjścia kompilatora przed asemblacją. Plik ten jest następnie przekazywany do as (GNU assembler) w celu wytworzenia pliku obiektowego .o gotowego do linkowania.

Subtelna, ale ważna konwencja oddziela małe .s od wielkiego .S: pliki .s trafiają bezpośrednio do asemblera, podczas gdy pliki .S przechodzą najpierw przez preprocesor C, co pozwala na użycie dyrektyw #include, #define oraz #ifdef - jest to rozróżnienie, na którym mocno opierają się bazy kodów jąder systemów i oprogramowania układowego.

Składnia różni się w zależności od łańcucha narzędzi. GNU as domyślnie używa składni AT&T na x86; asemblery Windows, takie jak MASM oraz NASM w stylu Intela, używają składni Intel. Ten sam układ pliku .s jest stosowany niezależnie od docelowej architektury ISA - x86-64, ARM/AArch64, RISC-V, MIPS i innych - więc samo rozszerzenie nie przekazuje informacji o architekturze.

Pliki .s nie posiadają magicznych bajtów i mają typ MIME text/x-asm. Każdy edytor tekstu je otwiera; do większych plików preferowane są edytory z podświetlaniem składni asemblera, takie jak VS Code, Vim i Emacs. Blisko powiązane rozszerzenie .asm służy temu samemu celowi w wielu łańcuchach narzędzi spoza środowiska Unix.

Bezpieczeństwo

RYZYKO: LOW

Plik .s jest zwykłym tekstem i sam w sobie nic nie robi - nie może zostać uruchomiony, dopóki celowo go nie zaasemblujesz i nie wykonasz. Ryzyko jest takie samo, jak w przypadku każdego kodu źródłowego, który zdecydujesz się zbudować: asembler może zawierać instrukcje wykonujące wszystko, na co pozwala procesor, więc należy asemblować i uruchamiać pliki .s tylko z zaufanych źródeł oraz czytać nieznany kod przed budowaniem. Otwarcie pliku .s w edytorze tekstu w celu podglądu jest całkowicie bezpieczne.

Szczegóły formatu

w pigułce
PEŁNA NAZWAAssembly Language Source Fileznany również jako Assembly source, Assembler source
DEWELOPERN/A (compiler/toolchain convention - GNU, Unix C toolchains)od 1970s (Unix C compiler toolchain convention)
TYP MIMEtext/x-asm
TYPTekstowy kod źródłowy asemblera
STANDARDOtwarty · bezpłatny
POWIĄZANE.do.md.hex.xsd
To rozszerzenie jest również używane przez…
  • Źródło języka programowania S - Kod źródłowy języka statystycznego S (poprzednika R); dziś rzadki, wciąż spotykany w dziedzicznym kodzie statystycznym.
  • Źródło Scheme (rzadkie) - Sporadycznie plik źródłowy Scheme/Lisp, choć standardowym rozszerzeniem jest .scm.

Programy otwierające pliki S

Windows3 apps
Notepad Open-source Otwórz bezpośrednio; menu Język posiada podświetlanie Assembly. Lekkie narzędzie do przeglądania i edycji.
Visual Studio Code Darmowy Otwórz plik .s; zainstaluj rozszerzenie „x86/ARM Assembly” dla podświetlania składni. Edytuj jako zwykły tekst.
MASM / MinGW-w64 GCC (to assemble) Darmowy Aby zbudować: „gcc file.s -o program.exe” (MinGW) lub „ml64” (Visual Studio MASM).
macOS2 apps
Visual Studio Code Darmowy Otwórz plik .s; zainstaluj rozszerzenie „x86/ARM Assembly” dla podświetlania składni. Edytuj jako zwykły tekst.
Xcode command-line tools (clang/as) Darmowy Zainstaluj za pomocą „xcode-select --install”, a następnie wykonaj asemblację używając clang/as z Terminala.
Linux3 apps
GNU as (binutils) + GCC Open-source Asembluj za pomocą „as file.s -o file.o” lub buduj bezpośrednio przez „gcc file.s -o program”. Referencyjny łańcuch narzędzi.
GNU Emacs / Vim Open-source Otwórz w trybie asm-mode (Emacs) lub z podświetlaniem składni (Vim), aby czytać i edytować.
gedit / any text editor Open-source Otwórz jako zwykły tekst do szybkiego podglądu; gedit podświetla popularne składnie asemblera.

Szczegóły techniczne

specyfikacja
Typ plikuTekstowy plik źródłowy języka asemblera
Typ MIMEtext/x-asm (akceptowane również: text/x-assembly, text/plain)
KodowanieASCII / UTF-8
Sygnatura pliku (magiczne bajty)Brak - zwykły tekst bez stałego nagłówka; zazwyczaj zaczyna się od komentarza (#, ;), etykiety (kończącej się na :) lub dyrektywy takiej jak .text lub .global
Struktura liniiOpcjonalna etykieta, dyrektywa asemblera lub mnemonik procesora z operandami, komentarz w linii - jedna logiczna operacja na linię
Konwencja wielkości literMałe .s jest asemblowane bezpośrednio; wielkie .S jest najpierw przepuszczane przez preprocesor C (obsługuje #include, #define, #ifdef)
Emisja kompilatoragcc -S lub clang -S emituje plik .s ze źródła C/C++, zatrzymując potok budowania po wygenerowaniu kodu, a przed asemblacją
Obsługiwane architektury ISAx86-64, ARM/AArch64, RISC-V, MIPS, POWER/PowerPC, AVR i inne - rozszerzenie jest neutralne względem architektury
Warianty składniSkładnia AT&T (domyślna dla GNU as na x86), składnia Intel (MASM, NASM), ARM Unified Assembly Language (UAL)
Częste dyrektywy asemblera.text, .data, .bss, .global, .section, .align, .byte, .word, .long, .string
Łańcuchy narzędziGNU Binutils (as), zintegrowany asembler LLVM/Clang, Microsoft MASM, NASM, yasm, armasm
Rola w potoku budowaniaPośredni etap tekstowy między generowaniem kodu przez kompilator a tworzeniem pliku obiektowego; asemblowany przez as lub odpowiednik w celu wytworzenia pliku .o
Obsługa preprocesoraWariant .S (wielka litera) jest przekazywany przez cpp przed asemblacją, co umożliwia kompilację warunkową i rozwijanie makr wewnątrz źródła asm
Typowy rozmiar pliku1 KB - 500 KB
Powiązane środowiskaLinux, Unix, macOS, Windows, systemy wbudowane/bare-metal (mikrokontrolery, kod startowy jądra, bootloadery)
Wydano1970s (Unix C compiler toolchain convention)
Najnowsza wersjaN/A (no versioned spec; depends on target CPU ISA and assembler)
Otwarty standardTak · bezpłatny (royalty-free)
Specyfikacjasourceware.org

Konwersje S

Pytania i odpowiedzi społeczności

pytania użytkowników
Zadaj szybkie pytanie
Uzyskaj pomoc od osób pracujących z plikami S. Bądź precyzyjny - podaj system i wersję oprogramowania.
Konto nie jest wymagane · odpowiedzi zazwyczaj w ciągu doby

Brak pytań - bądź pierwszą osobą, która zapyta o pliki S.

Najczęściej zadawane pytania

Co to jest plik .s?
Jest to plik źródłowy języka asemblera - tekstowe, niskopoziomowe instrukcje procesora dla konkretnej architektury (x86, ARM, RISC-V itp.). Jest to postać, którą emituje kompilator C przed wytworzeniem kodu maszynowego, oraz format, w którym zapisuje się ręcznie pisany asembler.
Jak otworzyć plik .s?
Można go otworzyć w dowolnym edytorze tekstu lub IDE - VS Code, Notepad++, vim, Emacs. Aby go faktycznie zbudować, należy użyć asemblera/łańcucha narzędzi, takiego jak GNU as lub polecenia „gcc file.s -o program”.
Jaka jest różnica między .s a .S?
Małe .s to czysty asembler, który asembler odczytuje bezpośrednio. Wielkie .S to asembler, który jest najpierw przepuszczany przez preprocesor C, dzięki czemu może używać #include, #define i #ifdef (często spotykane w kodzie systemów operacyjnych/jąder). Wielkość liter ma znaczenie w systemach Unix/Linux.
Jak skompilować plik .s?
Na Linux/macOS: „gcc file.s -o program” (asemblacja + linkowanie) lub „as file.s -o file.o” (sama asemblacja). Na Windows użyj gcc z pakietu MinGW lub ml64 z MASM. Potrzebujesz asemblera pasującego do procesora i składni pliku.
Czy mogę przekonwertować asembler (.s) z powrotem na C?
Nie w sposób wierny. Asembler porzuca wysokopoziomową strukturę, której wymaga C, więc nie istnieje prawdziwy konwerter .s na C. Dekompilatory takie jak Ghidra generują przybliżony kod C ze skompilowanych plików binarnych, a nie z ekwiwalentnego źródła.
Czy .s to to samo co .asm?
Oba są źródłami asemblera. .s to konwencja Unix/GNU (często składnia AT&T przez GNU as); .asm jest częściej spotykany w systemach Windows/DOS (NASM, MASM, często składnia Intel). O dialekcie decyduje procesor i asembler, a nie rozszerzenie.

Źródła

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

Odkrywaj dalej

w całej bazie danych

Najpopularniejsze rozszerzenia w tym tygodniu

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

Powiązane rozszerzenia

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

Darmowe narzędzia do plików

Identyfikator plików i konwerter obrazów w przeglądarce - wszystko działa na Twoim urządzeniu.

Otwórz przybornik

Przeglądaj rozszerzenia plików A-Z