Kuinka Suorittaa Ohjelma?
Pyyhkäise näyttääksesi valikon
Kääntäjä on erikoistunut ohjelma, joka muuntaa ihmisen luettavan C-lähdekoodin konekieleksi, jota prosessori voi suorittaa. Tämä muunnosprosessi mahdollistaa kirjoitettujen ohjeiden muuttamisen suoritettavaksi tiedostoksi, jonka tietokone ymmärtää ja ajaa.
Jotta koodi voidaan muuntaa prosessorille tarkoitetuiksi komennoiksi, tarvitaan kääntäjä. Kääntäjä käsittelee koodin järjestyksessä ylhäältä alas. Käännösprosessi etenee useiden vaiheiden kautta:
-
Esikäsittelyvaihe: kaikki
#include-ohjeet käsitellään, jolloin ulkoiset tiedostot, kirjastot ja muut tarvittavat osat liitetään ohjelmaan; -
Syntaksivirheiden tarkistus: kääntäjä tarkistaa syntaksivirheet ja keskeyttää käännöksen, jos virheitä löytyy, korostamalla ne korjausta varten;
-
Kääntäminen suoritettavaksi tiedostoksi: ohjelma muunnetaan suoritettavaksi tiedostoksi (esim.
.exeWindowsissa), jolloin sitä voidaan käyttää kuten mitä tahansa muuta sovellusta.
Suoritettava tiedosto on yksinkertaisesti joukko ohjeita (konekoodia), tarkoitettu suorittimelle. Esimerkiksi lause "Hello, c<>definity" konekoodina voisi muistuttaa jonoa.
program.exe
1201001000011001010110110001101100011011110010110000100000011000110011110000111 110011001000110010101100110011010010110111001101001011101000111100100100001
Koodiin on lisätty tarkoituksellinen virhe, jotta voidaan havainnollistaa, miten C-kääntäjä tunnistaa ja raportoi ongelmat.
Main.c
12345678#include <stdio.h> int main() { printf("some text") // Error line return 0; }
Kääntäjä odottaa puolipistettä (;) viidennen rivin lopussa. Ilman sitä kääntäjä ei tunnista, mihin lause päättyy, ja käsittelee return 0; osana samaa riviä. Tämän seurauksena virheilmoitus ilmestyy seuraavalle riville, vaikka todellinen ongelma on puuttuva puolipiste printf-lauseen jälkeen.
Main.c
12345678#include <stdio.h> int main() { ;; ;;;;;; printf("C language\n");;; ;return 0; ;;; }
C-kääntäjä on varsin salliva ylimääräisten puolipisteiden suhteen. Vaikka ne saattavat näyttää oudolta, useita ; käsitellään tyhjinä lauseina, eikä niillä ole vaikutusta ohjelman toimintaan. Koodi kääntyy ja suorittuu silti ongelmitta, mutta ylimääräisten puolipisteiden välttäminen on hyvä tapa pitää koodi siistinä ja luettavana.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme