Kezdőoldal » Számítástechnika » Programozás » Jól értelmezem a forráskódot...

Jól értelmezem a forráskódot és a tárgykódot?

Figyelt kérdés

A neten ezt találtam:


"A fordítandó programot forrásprogramnak (nyelvét forrásnyelvnek), a lefordított programot tárgyprogramnak (nyelvét tárgynyelvnek) nevezzük."


Én úgy értelmezem, hogy a forráskód tulajdonképpen a forrásprogram. Vagy még pontosabban azok a kódok, amikkel a forrásprogramunkat írtuk. A tárgykód pedig maga a tárgyprogram.


2019. márc. 25. 16:52
 1/4 anonim ***** válasza:

A forráskód kb. az, amit bepötyögsz a szövegszerkesztőbe, vagy éppen ahova. Ez az ember által olvasható, érthető formája a programnak.

Amikor ráengedsz egy natív fordítót (nem interpretert vagy JIT/bájtkódra fordítót), akkor az lefordítja a kódot, létrehoz egy gépi kódot, de úgy, hogy a benne lévő hivatkozásokat nem tölti ki, csak jelzi, hogy milyen nevű változóra, függvényre, stb. hivatkozik. Ezeket egy szimbólumlistába rendezi és hozzácsapja a tárgykódhoz. A tárgykód tuképpen egy kupac gépi kód részlet, amiknek még nincs fix helyük (emiatt nem lehet még cím szerint hivatkozni rájuk).

Amikor a linkert is ráengeded, akkor fogja a neki megadott tárgykódokat, összerakja egy futtatható állománnyá, így az abban lévő kódrészletek már a végleges helyükre kerülnek. Utána (vagy közben) a szimbólumlisták alapján a hivatkozásokat is kitölti a megfelelő címekkel, hiszen ő már tudja, mi hol van. A fordító még nem tudhatta, hiszen lehet, hogy az egyik tárgykód egy másikban lévő szimbólumra hivatkozik. Ezzel "feloldotta" az összes benne szereplő hivatkozást, minden változónév, függvénynév, stb. helyén már címek vannak, lehet futtatni.

2019. márc. 25. 17:37
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:

"a lefordított programot tárgyprogramnak (nyelvét tárgynyelvnek) nevezzük"

Én speciel még soha nem hallottam, hogy a tárgykódnak nyelve lenne, de nyitott vagyok az újdonságokra. Szerintem a tárgykód alapvetően platformtól függő bináris gépi kód, és nem nyelve, max. formátuma, felépítése van. De majd javítanak, ha tévedek.

2019. márc. 25. 17:59
Hasznos számodra ez a válasz?
 3/4 A kérdező kommentje:
Értem. Köszönöm szépen a válaszokat!
2019. márc. 25. 18:41
 4/4 anonim ***** válasza:

Egyébként megtaláltam az eredetit:

[link]

Egy dologban igaza van, valóban van "tárgynyelv", ami mondjuk a "target" kód nyelve, ha nem natív kódra fordít egy fordító, például C-ről assemblyre. Viszont a gyakorlatban azt nem igazán szokták tárgykódnak hívni. Általánosságban valóban minden tárgykód, amit a fordító eredményül ad, így lehet magasabb szintű nyelvű kód is, de olyankor kicsit zavaró ez az elnevezés.

"a forráskód tulajdonképpen a forrásprogram"

A program tuképpen egy algoritmus, illetve az azt megvalósító utasítások sorozata, ami alapján a számítógép egy feladatot megold. Ez reprezentálható többféle módon, pl. magasszintű nyelveken, ezek szoktak lenni a forráskódok, amit az ember hoz létre. Ilyen értelemben elég fura a "tárgyprogram" név, mivel az ugyanaz a program, mint a forrás, csak másképp kódolva.


"A computer program is usually written by a computer programmer in a programming language. From the program in its human-readable form of source code, a compiler can derive machine code—a form consisting of instructions that the computer can directly execute."

[link]

2019. márc. 26. 16:25
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!