Hvad er C-filformatet?
.c er en kildekodefil til programmeringssproget C. C er et generelt, procedurelt sprog og betragtes som et programmeringssprog på mellemniveau, der er meget brugt til udvikling af softwareapplikationer, operativsystemer og indlejrede systemer. Det blev skabt af Dennis Ritchie hos Bell Labs i 1972 og er blevet standardiseret af ANSI og ISO gennem flere revisioner - den nuværende standard er C23.
Filer med filtypen .c er tilgængelige med teksteditorer, og en bruger kan læse eller skrive koden i disse filer via simpel teksteditorsoftware eller en fuld IDE. .c-filen indeholder den faktiske kode skrevet af udvikleren sammen med andre oplysninger såsom præprocessor-direktiver (som #include og #define) og kommentarer. Før kørsel skal en .c-fil kompileres af en C-compiler såsom gcc eller clang til en objektfil og derefter linkes til en eksekverbar fil.
.c-filer er specifikke for C-sproget og bør ikke forveksles med C++ kildekodefiler, som bruger filtyper som .cpp eller .cc. Erklæringer, der deles mellem flere .c-filer, placeres i header-filer med filtypen .h.
Sikkerhed og tryghed
RISIKO: LOWEn .c-fil er ren tekst og kan ikke køre af sig selv, så det er sikkert at åbne en i en editor. Risikoen opstår kun, når du KOMPILERER og KØRER ukendt C-kode: kildekode fra en utroværdig kilde kan gøre alt, hvad et program kan, når det først er bygget (slette filer, netværksadgang, installere malware), og C's lavniveaustruktur gør det nemt at skjule ondsindet eller fejlbehæftet kode. Læs koden før du kompilerer den, byg ukendt kode i en sandbox/VM, og kør aldrig en kompileret binær fil, du ikke har tillid til. Selve filtypen indeholder ingen sårbarhed - faren ligger i, hvad koden gør efter kompilering.
Formatdetaljer
kort fortalt- C++ kildekodefil (forældet) - Historisk set blev .c (og stort .C på case-sensitive Unix) også brugt til C++ kildekode, hvilket er betydningen i denne databases «C/C++» navn; moderne C++ bruger .cpp/.cc/.cxx.
- DOS/Windows drevbogstav eller generiske data - Sjældent optræder «c» som en ikke-kildekode-artefakt (f.eks. et tilfældigt navn på ét bogstav); kildekode-betydningen dominerer overvældende.
Programmer der åbner C-filer
Tekniske detaljer
dyb specifikation| MIME-type | text/x-csrc |
| Tegnkodning | Ren ASCII eller UTF-8; ingen binær magic-byte-signatur - identificeres ved indhold, ikke bytes |
| Sprogstandard | Standardiseret som ANSI C89, derefter C99, C11, C17; nuværende standard er C23 (ISO/IEC 9899:2024) |
| Programmeringsparadigme | Procedurelt og imperativt; understøtter ikke klasser eller objekter indfødt |
| Hukommelseshåndtering | Manuel - udvikleren allokerer og frigiver heap-hukommelse ved hjælp af malloc() og free() |
| Præprocesseringsfase | Kilden behandles af en præprocessor før kompilering, hvilket løser #include, #define og betingede kompileringsdirektiver |
| Kompileringsoutput | Kompileres til en objektfil (.o / .obj), og linkes derefter til en eksekverbar fil eller et statisk/delt bibliotek |
| Header-parring | Implementeringslogik findes i .c-filer; erklæringer delt på tværs af oversættelsesenheder findes i parrede .h-header-filer |
| Primære anvendelser | OS-kerner, indlejret firmware, compilere, databaser og ydeevnekritisk systemsoftware |
| Kommentarsyntaks | Blokkommentarer /* ... */ understøttet siden C89; enkeltlinje-kommentarer // tilføjet i C99 |
| Portabilitet | ISO-konform kode er meget portabel på tværs af arkitekturer; platformsforskelle håndteres med præprocessor-guards |
| Forskel på store og små bogstaver | På filsystemer, der skelner mellem store og små bogstaver (Linux, macOS), betegner stort .C konventionelt en C++ kildekodefil, adskilt fra lille .c |
| Compiler-økosystem | Kompileres af blandt andre GCC, Clang/LLVM, MSVC, Intel oneAPI C++ og TinyCC |
| Udgivet | C language created 1972 (Bell Labs); standardized ANSI C 1989, ISO C 1990, latest C23 |
| Åben standard | Ja · royaltyfri |
| Specifikation | www.iso.org |
C-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om C-filer.