Hva er C-filformatet?
.c er en kildekodefil for programmeringsspråket C. C er et generelt, proseduralt språk og regnes som et programmeringsspråk på mellomnivå som er mye brukt til utvikling av programvare, operativsystemer og innebygde systemer. Det ble skapt av Dennis Ritchie ved Bell Labs i 1972, og har blitt standardisert av ANSI og ISO gjennom flere revisjoner - den nåværende standarden er C23.
Filer med filendelsen .c er tilgjengelige med tekstredigeringsprogrammer, og en bruker kan lese eller skrive koden i disse filene gjennom enkel tekstbehandlingsprogramvare eller et fullstendig IDE. .c-filen inneholder selve koden skrevet av utvikleren sammen med annen informasjon som preprosessor-direktiver (som #include og #define) og kommentarer. Før kjøring må en .c-fil kompileres av en C-kompilator som gcc eller clang til en objektfil, og deretter lenkes til en kjørbar fil.
.c-filer er spesifikke for språket C og bør ikke forveksles med C++-kildefiler, som bruker endelser som .cpp eller .cc. Deklarasjoner som deles mellom flere .c-filer plasseres i header-filer med filendelsen .h.
Sikkerhet og trygghet
RISIKO: LOWEn .c-fil er ren tekst og kan ikke kjøre av seg selv, så det er trygt å åpne en i et redigeringsprogram. Risikoen oppstår bare når du KOMPILERER og KJØRER ukjent C-kode: kildekode fra en utrygg kilde kan gjøre alt et program kan når det er bygget (slette filer, nettverkstilgang, installere skadevare), og Cs lavnivå-natur gjør det lett å skjule ondsinnet eller feilaktig kode. Les koden før du kompilerer den, bygg ukjent kode i en sandkasse/VM, og kjør aldri en kompilert binærfil du ikke stoler på. Selve filendelsen bærer ingen sikkerhetsrisiko - faren ligger i hva koden gjør etter kompilering.
Formatdetaljer
i et nøtteskall- C++-kildekodefil (legacy) - Historisk ble .c (og stor .C på Unix) også brukt for C++-kildekode, som er betydningen i denne databasens «C/C++»-navn; moderne C++ bruker .cpp/.cc/.cxx.
- DOS/Windows volumbokstav eller generiske data - Sjelden dukker «c» opp som en ikke-kildekode-artefakt (f.eks. et tilfeldig navn på én bokstav); kildekode-betydningen dominerer overveldende.
Programmer som åpner C-filer
Tekniske detaljer
dyp spesifikasjon| MIME-type | text/x-csrc |
| Tegnoding | Ren ASCII eller UTF-8; ingen binær magic-byte-signatur - identifiseres ved innhold, ikke bytes |
| Språkstandard | Standardisert som ANSI C89, deretter C99, C11, C17; nåværende standard er C23 (ISO/IEC 9899:2024) |
| Programmeringsparadigme | Proseduralt og imperativt; støtter ikke klasser eller objekter innebygd |
| Minnehåndtering | Manuell - utvikleren tildeler og frigjør heap-minne ved hjelp av malloc() og free() |
| Preprosesseringsstadium | Kilden behandles av en preprosessor før kompilering, som løser opp #include, #define og betingede kompileringsdirektiver |
| Kompileringsutdata | Kompilert til en objektfil (.o / .obj), deretter lenket til en kjørbar fil eller et statisk/delt bibliotek |
| Header-sammenkobling | Implementeringslogikk ligger i .c-filer; deklarasjoner delt på tvers av oversettelsesenheter går i tilhørende .h-headerfiler |
| Primære bruksområder | OS-kjerner, innebygd fastvare, kompilatorer, databaser og ytelseskritisk systemprogramvare |
| Kommentarsyntaks | Blokk-kommentarer /* ... */ støttet siden C89; enkeltlinje-kommentarer // lagt til i C99 |
| Portabilitet | ISO-konform kode er svært portabel på tvers av arkitekturer; plattformforskjeller håndteres med preprosessor-vakter |
| Skille mellom store/små bokstaver | På filsystemer som skiller mellom store og små bokstaver (Linux, macOS), betegner stor .C konvensjonelt en C++-kildekodefil, ulikt liten .c |
| Kompilator-økosystem | Kompileres av blant andre GCC, Clang/LLVM, MSVC, Intel oneAPI C++ og TinyCC |
| Utgitt | C language created 1972 (Bell Labs); standardized ANSI C 1989, ISO C 1990, latest C23 |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | www.iso.org |
C-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om C-filer.