< C fejlesztői környezet kialakítása

Fejlesztés C nyelven

Szerző: Sallai András

Copyright © Sallai András, 2014

Licenc: GNU Free Documentation License 1.3

Web: http://szit.hu

A C nyelvről

A C magas szintű nyelvekhez tartozik, ezen csoporton belül viszont a legalacsonyabb szintűként tartjuk számon. A C megvalósításokat a fordítós technika jellemzi. A fordítók az adott operációs rendszerre natív programot készítenek.

A C nyelvet eszközmeghajtók, operációs rendszerek, programozására szokás használni, de általános célúnak tekinthető.

Objective-C

Objektum Orientált programozási nyelv. A C nyelvbe a Smalltalk nyelvből hozták az objektum központúságot. Az Apple fő programozási nyelve.

Az 1980-as évek elején Brad Cox és Tom Love hozta létre, a Stepstone vállalatnál, amely szoftverfejlesztésekkel foglalkozott az ezredfordulóig. 1995-ben a NeXT megszerezte a Obective-C jogait.

A GCC képes lefordítani a Objective-C forrásokat is, ha telepítjük a gobjc aktuális csomagját:

apt-get install gobjc-4.6

GCC

A GCC a GNU C Compiler szavakból alkotott rekurzív betűszó.

GNU C Compiler

Eredetileg GNU C Compiler szavakból alkotott betűszó volt. Ekkor csak C nyelven tudott fordítani. Később a GCC-t képessé tették C++, Fortran, Objective-C, Ada, Java és Pascal nyelvű programok fordítására is. A nevét ezért megváltoztatták:

GNU Compiler Collection

Clang

A Clang egy fordítói előtétprogram. Az LLVM fordítóval szokás használni, amely Low Level Virtual Machine rövidítése, és alacsony szintű virtuális gépnek fordítható. Az LLVM valójában tetszőleges programozási nyelvhez felhasználható, fordítási idejű, linkelési idejű, futási idejű és holtidejű („idle-time”) optimalizálására kitalált fordítói infrastruktúra.

SDCC

Az SDCC fordító egy ANSI C fordító, amely jól optimalizálható és több célprocesszor meghatározható számára, mikrovezérlők programozására.

Néhány használható mikroprocesszor:

Intel MCS51

8031, 8032, 8051, 8052 stb.

Maxim DS80C390; ezek variánsai

Freescale (korábban Motorola)

HC08 based (hc08, s08)

Zilog Z80

MCUs (z80, z180, gbz80, Rabbit 2000/3000, Rabbit 3000A, TLCS-90)

STMicroelectronics STM8