Handledning: Objekt-C-programmeringshandbok

Detta är en del av en serie tutorials om programmering i mål-C. Det handlar inte om iOS-utveckling men det kommer med tiden. Inledningsvis kommer dessa tutorials att lära sig målet C-språk. Du kan köra dem med ideone.com.

Så småningom vill vi gå lite längre än detta, sammanställa och testa Objekt-C på Windows och jag tittar på GNUStep eller använder Xcode på Macx.

  • Vill du lära dig C-programmering? Prova vår gratis C Programmeringsstudier

Innan vi kan lära oss att skriva kod för iPhone måste vi verkligen lära oss målet Objekt-C. Även om jag hade skrivit en utvecklar för iPhone Tutorial innan, insåg jag att språket kan vara en snubblande.

Dessutom har minneshantering och kompileringsteknologi förändrats dramatiskt sedan iOS 5, så detta är en omstart.

För C- eller C ++ -utvecklare kan Objekt-C se ganska konstigt ut med synkroniseringen av meddelanden som skickar meddelanden [likethis], så en grund i några lektioner om språket får oss att gå i rätt riktning.

Vad är mål-C?

Utvecklad för över 30 år sedan var Objekt-C bakåtkompatibel med C men integrerade delar av programmeringsspråket Smalltalk.

instagram viewer

1988 grundade Steve Jobs NeXT och de licensierade Objekt-C. NeXT förvärvades av Apple 1996 och det användes för att bygga operativsystemet Mac OS X och så småningom iOS på iPhones och iPads.

Objekt-C är ett tunt lager ovanpå C och behåller bakåtkompatibilitet så att Objekt-C-kompilatorer kan sammanställa C-program.

Installera GNUStep på Windows

Dessa instruktioner kom från det här StackOverflow-inlägget. De förklarar hur man installerar GNUStep för Windows.

GNUStep är ett MinGW-derivat som låter dig installera en gratis och öppen version av Cocoa API: er och verktyg på många plattformar. Dessa instruktioner är för Windows och låter dig sammanställa Objekt-C-program och köra dem under Windows.

Från Windows Installer-sida, gå till FTP-webbplatsen eller HTTP Access och ladda ner den senaste versionen av de tre GNUStep-installatörerna för MSYS System, Core och Develop. Jag laddade ner GNUstep-MSYS-system-0.30.0-setup.exe, gnustep-core-0.31.0-setup.exe och gnustep-devel-1.4.0-setup.exe. Jag installerade dem sedan i den ordningen, systemet, kärnan och utvecklingen.

Efter att ha installerat dem körde jag en kommandorad genom att klicka på start, sedan klicka på köra och skriva cmd och trycka på enter. Skriv gcc -v så ska du se flera rader text om kompilatorn som slutar i gcc version 4.6.1 (GCC) eller liknande.

Om du inte gör det, dvs. det står File not found kan du kanske ha en annan gcc redan installerad och behöva korrigera sökvägen. Skriv in uppsättningen på cmd-linjen så ser du massor av miljövariabler. Leta efter sökväg = och många textrader som borde hamna i; C: \ GNUstep \ bin; C: \ GNUstep \ GNUstep \ System \ Tools.

Om det inte gör det öppnar du Windows Kontrollpanelen efter System och när ett fönster öppnas klickar du på Avancerade systeminställningar och klickar sedan på miljövariabler. Bläddra ner i listan Systemvariabler på fliken Avancerat tills du hittar sökvägen. Klicka på Redigera och välj Alla i Variabla värde och klistra in det i Wordpad.

Redigera nu banorna så att du lägger till papperskorgens sökväg, markera sedan alla och klistra in den igen i variabelvärdet och stäng sedan alla fönster. Tryck på ok, öppna en ny cmd-linje och nu borde gcc -v fungera.

Mac-användare

Du bör registrera dig för de gratis Apple-utvecklingsprogrammen och sedan ladda ner Xcode. Det är lite att ställa in ett projekt i det, men när det är klart (jag täcker det i en separat handledning) kommer du att kunna sammanställa och köra Objekt-C-kod. För tillfället ger webbplatsen Ideone.com den enklaste metoden för att göra det.

Vad är annorlunda om Objekt-C?

Om det kortaste programmet du kan köra är det här:

#importera
int main (int argc, const char * argv [])
{
NSLog (@ "Hello World");
retur (0);
}

Du kan köra det här Ideone.com. Outputen är (överraskande) Hello World, men den kommer att skickas till stderr eftersom det är vad NSLOG gör.

Vissa poäng

  • #import är Mål-C-ekvivalentet med #include i C.
  • Istället för nollavslutade C-strängar har jag använt Objekt-C: s strängar. Dessa börjar alltid med @ som i @ "Exempel på en sträng".
  • Huvudfunktionen är inte annorlunda.

I nästa tutorial för Objekt-C ska jag titta på objekt och OOP i Objekt-C.

  • Hur man gör saker i C.
instagram story viewer