C-programmering i Linux, macOS, BSD och Solaris
C-programmering i Linux, macOS, BSD och Solaris lär först ut grunderna i C-programmering så att vi har en stabil grund att stå på. Denna del vänder sig mot de som är nya på C-programmering eller för de som behöver fräscha upp sina C-kunskaper. Därefter börjar vi att programmera alltmer mot UNIX-s... Lue lisää
C-programmering i Linux, macOS, BSD och Solaris lär först ut grunderna i C-programmering så att vi har en stabil grund att stå på. Denna del vänder sig mot de som är nya på C-programmering eller för de som behöver fräscha upp sina C-kunskaper. Därefter börjar vi att programmera alltmer mot UNIX-s... Lue lisää
-
Tuotekuvaus
C-programmering i Linux, macOS, BSD och Solaris lär först ut grunderna i C-programmering så att vi har en stabil grund att stå på. Denna del vänder sig mot de som är nya på C-programmering eller för de som behöver fräscha upp sina C-kunskaper. Därefter börjar vi att programmera alltmer mot UNIX-system med hjälp av bland annat systemanrop. Vi lär oss att skapa och använda demoner, standard input- och output, filrättigheter, FIFO, processhantering, make-filer, meddelandeköer med mera.Vi får också lära oss hur man kopplar samman flera program med hjälp av rörledningar och skalskript. Mot slutet av boken tittar vi på hur man använder felsökningsverktyg som GDB, LLDB och Valgrind.
Grundtanken med boken är att du som läsare bara ska behöva en enda bok för att komma igång att utveckla program och verktyg för UNIX-system. Boken är uppbyggd på devisen att lära genom exempel. I boken finns över 160 exempelprogram, både stora och små. Efter varje kapitel finns dessutom övningsuppgifter, så att du som läsare ska kunna arbeta med boken på egen hand.
Jack-Benny Persson har många års erfarenhet av främst Linux- och FreeBSD-system, men också av programmering och skripting i olika former. Intresset för datorer började redan i början av 90-talet och har sedan dess bara fortsatt. På gymnasiet läste han el & elektronik och har senast studerat till Linux Systemspecialist vid EC-Utbildning. Han har tidigare gett ut boken "Grunderna i programmering". Han är idag ägare av CyberInfo Sverige. -
Tuotetiedot
- Kustantaja / Valmistaja CyberInfo Sverige
- ISBN 9789198330021
- Tuotekoodi 9789198330021
- Kirjoittajat Jack-Benny Persson
- Kieli ruotsi
- Thema-luokitus Tiedonkäsittely- ja tietotekniikka
- Ilmestymispäivä 05.03.2018
- Vuosi 2018
- Painos 1
- Sivumäärä 430
- Asiasanat Linux; macOS; FreeBSD; OpenBSD; Solaris; UNIX; programmering; C; LLDB; GDB; Valgrind; make; funktioner; minneshantering; datatyper
- Avainsanat Linux; macOS; FreeBSD; OpenBSD; Solaris; UNIX; programmering; C; LLDB; GDB; Valgrind; make; funktioner; minneshantering; datatyper
- Pituus (mm) 230
- Leveys (mm) 170
- Korkeus (mm) 29
- Paino (g) 763
-
Sisältö
1 Introduktion
1.1 UNIX-system?
1.2 Bokens exempelprogram
2 Kort historia
2.1 Högnivåspråken utvecklas
2.2 Andra UNIX-liknande system
3 Installera nödvändiga verktyg
3.1 Navigera i de inbygga man-sidorna
4 Introduktion till C
4.1 Ett första exempel
4.2 Ett exempel med indata
4.2.1 Första varianten
4.2.1.1 Spill över med flit
4.2.2 Andra varianten
4.3 Övningsuppgifter
5 Variabler och datatyper i C
5.1 Variabelnamn
5.2 Heltal
5.2.1 Portabilitet
5.2.2 Signed och unsigned int
5.2.3 Tecken, char
5.3 Flyttal
5.4 Fält av tal
5.5 Uppräkningstypen, enum
5.6 Konstruktioner, struct
5.6.1 Storleken på konstruktioner
5.7 Egna datatyper med typedef
5.8 Unioner
5.9 Konstanter
5.10 Omvandla mellan olika typer
5.11 Aritmetik
5.11.1 Modulo-operatorn
5.12 Övningsuppgifter
6 Loopar & villkor
6.1 Jämförelseoperatorer
6.2 Olika villkorssatser i C
6.3 if-satsen
6.4 Logiska operatorer
6.5 Nästlade if-satser
6.6 Jämföra strängar
6.7 Switch-satsen
6.8 Loopar
6.8.1 for-loopen
6.8.1.1 Utesluta delar i for-loopen
6.8.2 while-loopen
6.8.3 do while
6.8.4 Avbryta en loop med break
6.8.5 Hoppa över iterationer med continue
6.9 Övningsuppgifter
7 Bitvisa operationer
7.1 Bitvis OCH & bitvis ELLER
7.1.1 Exklusiv ELLER
7.2 Bitvis skiftning
7.3 Negation
7.4 Övningsuppgifter
8 Funktioner, del 1
8.1 En första egen funktion
8.2 Funktionsprototyp och funktionskropp
8.3 Returtyper och argument
8.4 Placera funktioner i separata filer
8.5 Övningsuppgifter
9 Minneshantering
9.1 Heap och stack
9.1.1 BSS, data och text
9.1.2 Stack frames
9.2 Scope
9.2.1 Block-scope
9.2.1.1 Global
9.2.1.2 Static
9.2.2 Filbaserat scope
9.3 Dynamisk minneshantering
9.4 Allting handlar om null-tecknet
9.5 Övningsuppgifter
10 Pekare
10.1 Adressen till teckenfält
10.2 Skapa pekare
10.3 Mer om fält, strängar och pekare
10.3.1 Andra typer av fält
10.4 Pekare till pekare
10.4.1 Använda pekare till pekare för fält
10.5 Övningsuppgifter
11 Funktioner, del 2
11.1 main()
11.1.1 Behandla argument till programmet
11.1.1.1 Förklaring av resten av simple-ls
11.2 Fält som argument och retur
11.2.1 Fält som argument
11.2.2 Returnera ett fält
11.2.3 Call by reference
11.3 Övningsuppgifter
12 Filhantering
12.1 Strömmar och fildeskriptorer
12.2 Skriva till filer med filströmmar
12.3 Läsa från filer med filströmmar
12.3.1 Läsa in specifikt innehåll
12.4 stdin, stdout och stderr
12.5 Förflytta sig i en fil
12.6 Skriva och läsa med fildeskriptorer
12.7 Skriva och läsa binärdata
12.7.1 Skriva och läsa en enstaka variabel
12.7.2 Skriva fält till en fil
12.7.2.1 Blanda olika datatyper
12.7.3 Lagra strukturer i filer
12.7.4 Ett komplett lagerhanteringsprogram
12.8 Övningsuppgifter
13 Introduktion till systemanrop
13.1 Filsystem och rättigheter
13.1.1 Rättigheter som oktala tal
13.1.2 umask
13.2 Två exempelprogram
13.2.1 Enkelt program för filinformation
13.2.2 Program för att ändra ägaren av en fil
13.3 Systemanrop, datatyper och C-standarder
13.4 Felhantering och errno
13.5 En egen version av touch
13.6 Många fler systemanrop
13.7 Övningsuppgifter
14 Kommunicera med skalet och andra program
14.1 Rörledningar
14.2 Returkoder
14.3 Omdirigera data till & från filer
14.3.1 Skriva till stderr i C
14.4 Knyta samman returkoder, rörledningar och omdirigeringar
14.5 Miljövariabler
14.5.1 Läsa och sätta miljövariabler i C
14.6 Övningsuppgifter
15 Kompilatorn, objektfiler och make
15.1 De fyra stegen
15.1.1 Preprocessorn
15.1.2 Kompilering
15.1.3 Assembly
15.1.4 Linker
15.2 Ett par nyttiga flaggor
15.3 Make
15.3.1 En Makefile för ett projekt
15.3.1.1 En smartare Makefile
15.3.1.2 Fler variabler och mål
15.4 Delade bibliotek
15.4.1 Statiska bibliotek
15.4.2 Dynamiska bibliotek
15.4.2.1 Titta i det dynamiska biblioteket
15.4.2.2 Installera biblioteket i systemet
15.4.2.3 Använda biblioteket i ett program
15.4.2.4 macOS
15.4.2.5 Använda tredjepartsbibliotek
15.5 Övningsuppgifter
16 Processer, demoner, barn och föräldrar
16.1 Introduktion till exec()
16.2 Introduktion till fork()
16.2.1 Zombie-processer
16.3 system()
16.4 Demoner
16.5 Övningsuppgifter
17 IPC
17.1 Signalhantering
17.1.1 Utöka demonen med signalhanterare
17.1.1.1 Utöka med ytterligare signalhanterare
17.1.1.2 Utöka med ett klientprogram
17.2 Pipes (rörledningar)
17.3 FIFO (namngivna rörledningar)
17.3.1 C och FIFO
17.4 Meddelandeköer
17.5 Övningsuppgifter
18 Felsökning
18.1 GDB och LLDB
18.1.1 Installera GDB / LLDB
18.1.2 Stega igenom ett enkelt program
18.1.3 Övervaka variabler
18.1.4 Modifiera variabler under körning
18.1.5 Program med flera funktioner och argument
18.1.6 Titta i minnesadresser
18.1.7 Undersöka minnet på djupet
18.1.8 Felsöka barnprocesser
18.1.8.1 GDB
18.1.8.2 LLDB
18.1.9 Använda GDB/LLDB för att undersöka hur systemet hanterar minne
18.2 Valgrind
18.2.1 Installera Valgrind
18.2.2 Använda Valgrind
18.2.3 Mer svårupptäckta minnesproblem
18.3 Övningsuppgifter
19 Avslutning
Appendix A (ASCII-tabell)
Appendix B (Talsystem)
Bitar, bytes och det binära talsystemet
Omvandla mellan binärt och decimalt
Hexadecimala talsystemet
Till och från binärt
Hexadecimalt till decimalt
Räkna ut större och mer komplicerade tal
Oktala talsystemet
Till och från binärt
Oktalt till decimalt
Källor
- Tuotemuoto Pehmeäkantinen kirja
- ALV 10,0%
-
UKK
-
Toimitus
Tarjoamme tilauksiin seuraavat toimitustavat:
Myymälänouto: 0 €
Matkahuolto noutopiste: 4,90 €
Matkahuolto kotijakelu: 11,90 €
Posti pikkupaketti: 3,90 €
Posti noutopiste tai automaatti 4,90 €
Posti kotiinkuljetus 10,90 €
Postnord automaatti tai noutopiste: 4,90 €
Lisäksi toimitustapana saatavilla vain yritysasiakkaillemme:
Postnord Yrityspaketti: 14,90 € -
Maksaminen
Verkkokaupassamme on käytössä seuraavat maksutavat:
Mobiilimaksutavat:
MobilePay, Siirto, Apple Pay, Google Pay, Masterpass
Pankkimaksutavat:
Nordea, Danske Bank, POP Pankki, Säästöpankki, Oma Sp, Ålansbanken, OP, Handelsbanken, Aktia
Korttimaksutavat:
Visa, Visa Electron, Mastercard, American Express
Lasku- ja osamaksutavat:
Walley-lasku kuluttajille ja Walley- yrityslasku yrityksille -
Palautus
Verkkokaupasta ostetuilla fyysisillä tuotteilla on 14 päivän palautusoikeus tilauksen vastaanottamisesta. Myymälästä ostetuilla fyysisillä tuotteilla on 14 päivän vaihto- ja palautusoikeus. Palauttaminen on ilmaista. Lue lisää palautuksista.
-
Tämä tuote kuuluu tuoteryhmiin
Tuotearvostelut Suomalainen.comissa
Tutustu tuotearvostelujen käytäntöihin ja ehtoihin ennen kuin jätät arvostelun.
Suomalainen.com -verkkokaupassa on mahdollista jättää tuotearvosteluja siellä myynnissä olevista tuotteista. Tuotearvosteluja voivat jättää sekä tuotetta Suomalaisesta Kirjakaupasta ostaneet asiakkaat että muut sivuston käyttäjät. Arvostelijan nimimerkin jälkeinen teksti kertoo, onko kyseessä vahvistettu ostaja vai muu asiakas/sivuston käyttäjä.
-
Vahvistettu ostaja - Kyseinen arvostelu on jätetty käyttämällä tuotteen ostajalle lähetettyä sähköpostilinkkiä. Kyseessä on siis vahvistettu ostaja eli arvostelun jättänyt henkilö on ostanut todennetusti kyseisen tuotteen.
-
Vahvistettu suosittelija - Kyseinen arvostelu on jätetty suomalainen.com -verkkosivustolla. Arvostelijan sähköpostiosoite on vahvistettu, jotta on voitu varmistua siitä, että arvostelun on jättänyt oikea henkilö. Suomalainen.com ei kuitenkaan ole vahvistanut, että kyseinen henkilö on ostanut tuotteen.
- Ei tekstiä nimimerkin jälkeen - Kyseinen arvostelu on jätetty suomalainen.com -verkkosivustolla, mutta arvostelun jättäjän sähköpostiosoitetta ei ole vahvistettu.
Tuotearvostelussa pakollisia tietoja ovat tuotteen pistemäärä (tähdet), otsikko sekä arvosteluteksti. Jos jätät arvostelun sinulle lähetetyn sähköpostilinkin kautta, arvostelu julkaistaan käyttämällä etunimeäsi sekä sukunimen ensimmäistä kirjainta.
Jos jätät arvostelun sivustollamme, voit käyttää arvostelussa myös nimimerkkiä. Arvostelun jättämisen yhteydessä sinulta kysytään sähköpostiosoitetta. Käytämme sähköpostiosoitetta ainoastaan sen vahvistamiseen, että arvostelun on lähettänyt oikea henkilö, eikä esimerkiksi robotti. Emme jaa sähköpostiosoitettasi eteenpäin Suomalaisen Kirjakaupan ulkopuolelle. Tuotearvostelujen palveluntarjoajana toimii Yotpo. Tässä linkki Yotpon tietosuojaselosteeseen.
Arvostelut julkaistaan tuotteen kohdalla automaattisesti ja ne tulevat esiin viiveellä. Suomalainen.com pidättää kuitenkin oikeuden poistaa kommentit, jotka sisältävät epäasiallista, herjaavaa tai halventavaa kieltä, vihapuhetta tai ovat muuten hyvän tavan vastaisia, tai joissa markkinoidaan muiden toimijoiden sivustoja tai tuotteita.
Jättämällä arvostelun annat Suomalaiselle Kirjakaupalle oikeuden käyttää kyseisiä arvosteluja omassa markkinoinnissaan (sekä painettu että digitaalinen) ilman erillistä korvausta.
Tuotearvostelun jättäneiden kesken arvotaan säännöllisin väliajoin tuotepalkintoja.
Mikäli haluat poistaa jättämäsi tuotearvostelun verkkokaupastamme, pyyntö tästä tulee ohjata asiakaspalveluumme: asiakaspalvelu@suomalainen.com.
Tuotearvostelut eivät ole tarkoitettu asiakasreklamaatioiden tai tilauskyselyjen tekemiseen. Reklamaatiotapauksissa pyydämme ottamaan yhteyttä asiakaspalveluumme: asiakaspalvelu@suomalainen.com.
Jättämällä arvostelun suomalainen.com -verkkokauppaan hyväksyt yllämainitut käytännöt ja ehdot.
Lue lisää tuotearvosteluista.