TDP005. Föreläsning 2. Filip Strömbäck
|
|
- Agneta Sundberg
- för 5 år sedan
- Visningar:
Transkript
1 TDP005 Föreläsning 2 Filip Strömbäck
2 1 Make och CMake 2 Versionshantering
3 TDP005 Filip Strömbäck 2 Make Problem: kompilera många filer i ett stort projekt tar tid Bättre om vi kompilerar om så få filer som möjligt! Make kan hjälpa oss!
4 TDP005 Filip Strömbäck 3 Make foo.h # pragma once int foo( int val); main.cpp #include "foo.h" # include <iostream > //... int main() { cout << foo(10) << endl; return 0; } foo.cpp #include "foo.h" int foo( int val) { return val + 1; }
5 TDP005 Filip Strömbäck 4 Make Beroenden foo.h main.cpp. foo.cpp g++ -std=c++17 -Wall *.cpp -o prog
6 TDP005 Filip Strömbäck 4 Make Beroenden foo.h main.cpp. foo.cpp prog g++ -std=c++17 -Wall *.cpp -o prog
7 TDP005 Filip Strömbäck 5 Make Beroenden foo.h main.cpp. foo.cpp g++ -c -std=c++17 -Wall main.cpp -o main.o g++ -c -std=c++17 -Wall foo.cpp -o foo.o g++ -std=c++17 main.o foo.o -o prog
8 TDP005 Filip Strömbäck 5 Make Beroenden foo.h main.cpp. foo.cpp main.o foo.o g++ -c -std=c++17 -Wall main.cpp -o main.o g++ -c -std=c++17 -Wall foo.cpp -o foo.o g++ -std=c++17 main.o foo.o -o prog
9 TDP005 Filip Strömbäck 5 Make Beroenden foo.h main.cpp. foo.cpp main.o foo.o prog g++ -c -std=c++17 -Wall main.cpp -o main.o g++ -c -std=c++17 -Wall foo.cpp -o foo.o g++ -std=c++17 main.o foo.o -o prog
10 TDP005 Filip Strömbäck 6 Make makefil Första försök: prog: foo.o main.o g++ -std=c++17 -g -Wall foo.o main.o -o prog foo.o: foo. cpp foo.h g++ -c -std=c++17 -g -Wall foo. cpp -o foo.o main.o: main. cpp foo.h g++ -c -std=c++17 -g -Wall main. cpp -o main.o
11 TDP005 Filip Strömbäck 7 Make makefil Förbättring: CXXFLAGS = -std=c++17 -g -Wall prog: foo.o main.o g++ $( CXXFLAGS) foo.o main.o -o prog foo.o: foo. cpp foo.h g++ -c $( CXXFLAGS) foo. cpp -o foo.o main.o: main. cpp foo.h g++ -c $( CXXFLAGS) main. cpp -o main.o
12 TDP005 Filip Strömbäck 8 Make makefil med.phony och clean CXXFLAGS = -std=c++17 -g -Wall prog: foo.o main.o g++ $( CXXFLAGS) foo.o main.o -o prog foo.o: foo. cpp foo.h g++ -c $( CXXFLAGS) foo. cpp -o foo.o main.o: main. cpp foo.h g++ -c $( CXXFLAGS) main. cpp -o main.o. PHONY: clean clean: rm *.o prog
13 TDP005 Filip Strömbäck 9 Make Finns mycket mer: makron, variabler, etc. Se make-laborationen för mer info.
14 TDP005 Filip Strömbäck 10 CMake CMakeLists.txt: project( prog) set( CMAKE_CXX_STANDARD 17) # set( CMAKE_CXX_FLAGS "${ CMAKE_CXX_FLAGS} -std=c++17") set( SOURCE_FILES main. cpp foo. cpp foo.h) add_executable( prog ${ SOURCE_FILES}) Kompilera: $ cmake. $ make
15 1 Make och CMake 2 Versionshantering
16 TDP005 Filip Strömbäck 12 Git Git ska användas i kursen Interaktiv genomgång: Hur används Git i större projekt?
17 TDP005 Filip Strömbäck 13 GitLab Issues GitLab har inbyggt stöd för issues. Kan användas för att hålla koll på vad som ska göras härnäst, buggar, etc. I ett commit-meddelande kan man skriva: fixes #13 Då stängs automatiskt issue #13, och en referens till den commit som stängde den läggs till.
18 TDP005 Filip Strömbäck 14 Git Hur organiseras koden i större projekt? Centralt repository Merge Rebase Feature Branch Gitflow Flera repositories Integration-Manager Workflow (Forking Workflow) Dictator and Lieutenants Workflow
19 TDP005 Filip Strömbäck 15 Git Centralt repository Repository.
20 TDP005 Filip Strömbäck 16 Git Merge origin/master C0. C1 master
21 TDP005 Filip Strömbäck 16 Git Merge origin/master C0. C1 F1 F2 master
22 TDP005 Filip Strömbäck 16 Git Merge origin/master C0. C1 C2 C3 F1 F2 master
23 TDP005 Filip Strömbäck 16 Git Merge origin/master C0. C1 C2 C3 F1 F2 C4 master
24 TDP005 Filip Strömbäck 16 Git Merge origin/master C0. C1 C2 C3 F1 F2 C4 master
25 TDP005 Filip Strömbäck 17 Git Rebase origin/master C0. C1 master
26 TDP005 Filip Strömbäck 17 Git Rebase origin/master C0. C1 F1 F2 master
27 TDP005 Filip Strömbäck 17 Git Rebase origin/master C0. C1 C2 C3 F1 F2 master
28 TDP005 Filip Strömbäck 17 Git Rebase origin/master C0. C1 C2 C3 F1 F2 F1 F2 Rebase master
29 TDP005 Filip Strömbäck 17 Git Rebase origin/master C0. C1 C2 C3 F1 F2 F1 F2 master
30 TDP005 Filip Strömbäck 17 Git Rebase origin/master C0. C1 C2 C3 F1 F2 master
31 TDP005 Filip Strömbäck 18 Git Merge och Rebase Enklaste sättet att samarbeta Fungerar bra i mindre projekt Kan inte samarbeta på funktionalitet som ej är klar Risk att master inte fungerar, problem för andra Stor feature, stora merge-konflikter
32 TDP005 Filip Strömbäck 19 Git Feature Branch master C0.
33 TDP005 Filip Strömbäck 19 Git Feature Branch feature-c master C1 C2 C3 C0.
34 TDP005 Filip Strömbäck 19 Git Feature Branch feature-c master C1 C2 C3 C0. F1 F2 F3 feature-f
35 TDP005 Filip Strömbäck 19 Git Feature Branch Merge Request feature-c master C1 C2 C3 C0. F1 F2 F3 feature-f
36 TDP005 Filip Strömbäck 19 Git Feature Branch feature-c C1 C2 C3 master C0. M1 F1 F2 F3 feature-f
37 TDP005 Filip Strömbäck 19 Git Feature Branch feature-c C1 C2 C3 master C0. M1 F1 F2 F3 feature-f Merge Request
38 TDP005 Filip Strömbäck 19 Git Feature Branch feature-c C1 C2 C3 master C0. M1 M2 F1 F2 F3 feature-f
39 TDP005 Filip Strömbäck 20 Git Feature Branch Samarbete/backup på ej klara funktionalitet Tydligt var kodgranskning görs master fungerar alltid Continuous Integration Lite mer arbete än tidigare Risk för att funktionalitet tappas bort Risk för stora merges lite funktionalitet i taget
40 TDP005 Filip Strömbäck 21 Git Gitflow master v0.1 C0. C1
41 TDP005 Filip Strömbäck 21 Git Gitflow master v0.1 C0. C1 D0 D2 D1 develop feature
42 TDP005 Filip Strömbäck 21 Git Gitflow master v0.1 C0. C1 release-0.2 D0 D2 D1 develop feature
43 TDP005 Filip Strömbäck 21 Git Gitflow master v0.1 C0. C1 R0 R1 release-0.2 D0 D2 D1 develop feature
44 TDP005 Filip Strömbäck 21 Git Gitflow master v0.1 C0. C1 R0 R1 release-0.2 D0 D2 D3 D1 develop feature
45 TDP005 Filip Strömbäck 21 Git Gitflow v0.1 master v0.2 C0. C1 C2 R0 R1 release-0.2 D0 D2 D3 D1 develop feature
46 TDP005 Filip Strömbäck 21 Git Gitflow v0.1 master v0.2 C0. C1 C2 R0 R1 release-0.2 D0 D2 D3 D4 D1 develop feature
47 TDP005 Filip Strömbäck 22 Git Gitflow Release kan testas och färdigställas parallellt med utveckling av ny funktionalitet master visar tydligt alla versioner Enkelt och tydligt att göra hotfix Ännu mer att hålla reda på, namngivning är viktig!
48 TDP005 Filip Strömbäck 23 Git Integration-Manager (Forks) Fork A Officiellt. repo Ägare
49 TDP005 Filip Strömbäck 23 Git Integration-Manager (Forks) Fork A Officiellt. repo Fork B Ägare
50 TDP005 Filip Strömbäck 23 Git Integration-Manager (Forks) Fork A Officiellt. repo Fork B Ägare
51 TDP005 Filip Strömbäck 23 Git Integration-Manager (Forks) Fork A Officiellt. repo Fork B Ägare Pull Request
52 TDP005 Filip Strömbäck 23 Git Integration-Manager (Forks) Fork A Officiellt. repo Fork B Ägare Pull Request
53 TDP005 Filip Strömbäck 24 Git Integration-Manager (Forks). Ägaren har full kontroll på vad som kommer med Pull Requests ger tydlig diskussion och genomgång av ändringar Officiellt repo innehåller få skräpgrenar Alla kommer åt sina ändringar var som helst ifrån Enkelt att tappa bort ändringar Enkelt att hamna efter officiellt repo Onödigt med flera kopior av projektet? Lite krångligare att komma igång
54 TDP005 Filip Strömbäck 25 Git Dictator and Lieutenants Dictator. Officiellt repo Lieutenant Lieutenant
55 TDP005 Filip Strömbäck 25 Git Dictator and Lieutenants Dictator. Officiellt repo Lieutenant Lieutenant
56 TDP005 Filip Strömbäck 25 Git Dictator and Lieutenants Dictator. Officiellt repo Lieutenant Lieutenant
57 TDP005 Filip Strömbäck 26 Git Dictator and Lieutenants Bra för väldigt stora projekt (Linux) Enskild ägare behöver inte kontrollera allt Lång process att få ändringar accepterade Många personer inblandade
58 Filip Strömbäck
Introduktion till Git
Introduktion till UPP-gruppen Christoffer Holm Institutionen för datavetenskap (IDA) 1 1 3 / 11 Krav på användning av i kursen, 3 / 11 Krav på användning av i kursen, Men vad är det? 3 / 11 Krav på användning
Läs merTDP005 Projekt: Objektorienterat system
. TDP005 Projekt: Objektorienterat system Laboration i Make och CMake Författare Filip Strömbäck Höstterminen 2016 Version 1.0 2016-10-04 Introduktion I denna lab kommer vi titta närmare på två verktyg
Läs merVersionshantering med Git. Henrik Henriksson 17 april 2018
Versionshantering med Git Henrik Henriksson 17 april 2018 1 Versionshantering? rapport_v0.4.docx rapport_v0.5.pdf rapport-v1.0.cpp rapport_v1.0.docx raport_v0.9-final.docx komplettering-v2.0.docx färdig.7.pdf
Läs merDet finns många flaggor till g++,
C++, Övning 1 Jonas Sjöbergh, jsh@nada.kth.se Inge Frick, inge@nada.kth.se Alexander Baltsatsis hur man kompilerar och kör make preprocessor minnesallokering, pekare grundläggande C++, funktioner m.m.
Läs merTDP005: Introduktion till Make
TDP005: Introduktion till Make Jonas Lindgren jonas.lindgren@liu.se Torbjörn Lönnemark torbjorn.lonnemark@liu.se Niklas Hayer 2013-11-14 1 1 PROGRAMMET MAKE 2 1 Programmet make Om du kör make letar programmet
Läs merVersionshantering med Git
Versionshantering med Git Vad, varför och hur? Magnus Nielsen Institutionen för datavetenskap, LiU magnus.nielsen@liu.se Vad ska jag ha Git till? Versionshantering Sparar källkod (eller vad som helst)
Läs merVersionshantering. Problem som uppstår i större (samt även mindre) projekt:
Versionshantering Problem som uppstår i större (samt även mindre) projekt: Samtidiga ändringar. Kålle och Ada öppnar samma fil för redigering vid var sin dator. Om Kålle först sparar sina ändringar och
Läs merProgramsystemkonstruktion med C++: Övning 1. Karl Palmskog september 2010
Programsystemkonstruktion med C++: Övning 1 Karl Palmskog palmskog@kth.se september 2010 Programuppbyggnad Klassens uppbyggnad en C++-klass består av en deklaration och en definition deklaration vanligtvis
Läs mer1 Vad är Versionshantering? 2 Git. 2.1 GitHub
1 Vad är Versionshantering? Versionshantering (eller Version Control) är ett samlingsnamn för program som ger en användare möjlighet att komma åt tidigare versioner av dokument och spåra ändringar som
Läs merMer om kodkvalitet. Mer om kodkvalitet. Hur kan man jobba med kodkvalité? Hur kan man jobba med kodkvalité? Hur kan man jobba med kodkvalité?
Mer om kodkvalitet Hur kan man jobba med kodkvalité 1. Jobba strukturerat genom hela processen Skulle ni köpa/köra en bil som inte har besiktas de senaste åren, speciellt efter lagningen efter krocken
Läs merCVS-Introduktion. CyberRymden Introduktion till CVS,17 november (27) Marcus Rejås
Introduktion till CVS,17 november 2002 1(27) CVS-Introduktion CyberRymden 2001-10-03 Marcus Rejås $Id: slides.tex,v 1.2 2002/11/17 18:16:40 rejas Exp $ Introduktion till CVS,17 november
Läs mergrundläggande C++, funktioner m.m.
C++, Övning 1 Jonas Sjöbergh, jsh@nada.kth.se hur man kompilerar och kör make preprocessor minnesallokering, pekare grundläggande C++, funktioner m.m. ett exempel Ett enkelt program i C++, hello.cpp #include
Läs merIntroduktion till git
Introduktion till git Anders Engström 23 februari 2012 1 / 27 Översikt Introduktion I en värld utan versionshantering Typer av versionshantering Detta är git Komma igång med git Förberedelser Eget repository
Läs merTDP005, Projekt: Objektorienterade System. Laboration: Eclipse
TDP005, Projekt: Objektorienterade System Laboration: Eclipse Höstterminen 2013 Introduktion Detta material innehåller övningar för Eclipse. Redovisning Dessa övningar behöver inte redovisas, men ni får
Läs merEtt enkelt program i C++, hello.cpp. #include <iostream> int main() { std::cout << "Hello World\n"; return 0; } C++, Övning 1
Ett enkelt program i C++, hello.cpp C++, Övning 1 Jonas Sjöbergh, jsh@nada.kth.se hur man kompilerar och kör make preprocessor minnesallokering, pekare grundläggande C++, funktioner m.m. ett exempel int
Läs merProgrammering i C++ Kompilering från kommandoraden
Programmering i C++ Kompilering från kommandoraden Sven Gestegård Robertz Datavetenskap, LTH 9 november 2015 Sammanfattning Ibland vill man, av olika anledningar, inte använda en stor integrerad utvecklingsmiljö
Läs merProgramsystemkonstruktion med C++
Programsystemkonstruktion med C++ Övning 1 Daniel Aarno bishop@kth.se Översikt övning 1 Kompilering och länkning Makefile Preprocessordirektiv Funktioner Funktionen main() Datatyper Minneshantering Pekare
Läs merFörsta exemplet. Kompilator & länkare. Projekt. Övning 1, Ögrupp 4, Programsystemkonstruktion med C++, Ronnie Johansson,
Övning 1, Ögrupp 4, Programsystemkonstruktion med C++, 2003 09 11 Ronnie Johansson, rjo@nada.kth.se Vi kommer att titta på: Kompilering och länkning make och Makefile Preprocessordirektiv main() funktionen
Läs merTDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Underprogram - Funktioner Eric Elfving Institutionen för datavetenskap 18 september 2014 Översikt 2/22 Återblick till satsblocken Funktioner - Namngivna satsblock
Läs merTDP003. Föreläsning 2. Filip Strömbäck
TDP003 Föreläsning 2 Filip Strömbäck 1 Kursinformation 2 Projektplan 3 Frågor 4 Genomgång av projekt 5 Vad är ett API? 6 Kom ihåg TDP003 Filip Strömbäck 2 Vad händer härnäst? V37 V38 V39 V40 Planeringsdokument
Läs merTDP005, Projekt: objektorienterade system
TDP005, Projekt: objektorienterade system Laboration: Eclipse Höstterminen 2011 Introduktion Detta material innehåller övningar för Eclipse. Redovisning Dessa övningar behöver inte redovisas, men ni får
Läs merTDP005, Projekt: Objekt-orienterade System. Laboration: Eclipse
TDP005, Projekt: Objekt-orienterade System Laboration: Eclipse Höstterminen 2013 Introduktion Detta material innehåller övningar för Eclipse. Redovisning Dessa övningar behöver inte redovisas, men ni får
Läs merTDP004. Minne och pekare. Eric Elfving Institutionen för datavetenskap
TDP004 Minne och pekare Eric Elfving Institutionen för datavetenskap 1 / 23 Översikt Internminne Pekare Dynamiska datastrukturer (Enkellänkade) listor 2 / 23 Internminne - RAM Datorns internminne (RAM,
Läs merTekniskt system för Lean Startup
Tekniskt system för Lean Startup Målet med kursen är att ni ska lära er om att bygga ett sådant system Detta gör vi i tillämpat format ny bygger en app för att lära er om den processen System (som CI,
Läs merIDA kursmaterial Informationsblad make. make
make make är ett verktyg som främst används för att underhålla, uppdatera och återskapa program och filer. Det är dock ett generellt verktyg som kan användas även i många andra sammanhang. En avancerad
Läs merTfn Telephone 026-54 66 86 Kontr Checked. Revisionshistoria Revision history Rev Namn Name Datum Date Ändring Change
Utilator 1(20) isionshistoria ision history Namn Name Ändring Change A3 2001-10-24 Ändrade i stycket om CVSROOT. Vi använder ssh nu och inte pserver. 2000-08-30 Ändrade i stycket om CVSROOT. Jag hade felaktigt
Läs merTDDC76 - Programmering och Datastrukturer
TDDC76 - Programmering och Datastrukturer Pekare och Listor Eric Elfving Institutionen för datavetenskap 1 / 21 Översikt Internminne Pekare Dynamiska datastrukturer (Enkellänkade) listor 2 / 21 Internminne
Läs merTDDC76 - Programmering och Datastrukturer
TDDC76 - Programmering och Datastrukturer Pekare och Listor Eric Elfving Institutionen för datavetenskap 1 / 20 Översikt Internminne Pekare Dynamiska datastrukturer (Enkellänkade) listor 2 / 20 Internminne
Läs merCode-Lite tutorial ( /RoJ)
Code-Lite tutorial (2013-03-20/RoJ) Följ dessa anvisningar för att skapa projekt, kompilera/länka och testa dina laborationsuppgifter 3,4. Project Projekt, innehåller bland annat ett antal källtextfiler
Läs merTDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Pekare och Listor Eric Elfving Institutionen för datavetenskap 31 oktober 2014 Översikt 2/41 Internminne Pekare Dynamiska datastrukturer (Enkellänkade) listor Arbeta
Läs merEn klass behöver både deklaration och definition. Daniel Aarno Globala funktioner och variabler är OK.
2 1 0 / ) - & 9 > ; 7 * ( ) ) En klass behöver både deklaration och definition Deklaration i h (hh) och definition i cc (cpp) Private är förvalt Student::learn() Student::Student() Student::~Student()
Läs merGrundläggande termer. Några olika system. F11 Grunderna i Versionshantering. Git basic. Origin. Git basic. Git basic. Local #1. Local #3.
Grundläggande termer F11 Grunderna i Versionshantering Hålla koll på olika version, kunna gå tillbaka, etc. Repo/Repository - förvaring/administrering av förändringar Centraliserad/Decentraliserad Lokal
Läs merVersionshantering. Jan Erik Moström
Versionshantering Jan Erik Moström Johan Eliasson Versionssystem Gjorda för att användas av en eller flera personer på en eller flera platser, exempelvis: För en ensam användare som jobbar med ett projekt
Läs merBörja med git och GitHub - Windows
Börja med git och GitHub - Windows Varför git och GitHub? Git är ett s.k. versionshanteringssystem. Det är ett sätt att hålla ordning på ändringar filer. Genom att använda versionshantering förståndigt,
Läs merTentamen i TDP004 Objektorienterad Programmering Praktisk del
Tentamen i TDP004 Objektorienterad Programmering Praktisk del Datum: 2011-08-22 Tid: 14-18 Plats: SU-salar i B-huset. Jour: Per-Magnus Olsson, tel 281456 Jourhavande kommer att besöka skrivsalarna ungefär
Läs merTentamen i TDP004 Objektorienterad Programmering Praktisk del
Tentamen i TDP004 Objektorienterad Programmering Praktisk del Datum: 2011-04-28 Tid: 08-12 Plats: SU-salar i B-huset. Jour: Per-Magnus Olsson, tel 281456 Jourhavande kommer att besöka skrivsalarna ungefär
Läs merJUnit. Junit Unit Testing. JUnit 3. JUnit 3 forts. Villkorskontroller i test. Exempel JUnit3
Johan Eliasson JUnit Junit Unit Testing Unit testing för java Används för att testa att metoder/klasser beter sig som det var tänkt Många IDE:er tex Eclipse har inbyggt stöd för detta. JUnit 3 Vi skriver
Läs merTDP005. Föreläsning 1. Filip Strömbäck
TDP005 Föreläsning 1 Filip Strömbäck 1 Kursinformation 2 Mjukvaruprojekt 3 Metoder 4 Kravspecifikation 5 Systemdesign och OOP 6 Testning 7 Kom ihåg TDP005 Filip Strömbäck 2 TDP004 och TDP005 TDP005 Filip
Läs mertentamensdags och lab 3
tentamensdags och lab 3 Större program delas normalt upp i flera filer/moduler vilket har flera fördelar: Programmets logiska struktur när man klumpar ihop funktioner som hör ihop (och ibland också struct-def
Läs merHur man kompilerar och kör IT++-program med MinGW. 1 Sammanfattning. 2 Om dokumentet. 3 Om min konfiguration
1 (12) Hur man kompilerar och kör IT++-program med MinGW 1 Sammanfattning Detta dokument visar hur man lätt (med några få extra raders kod) kan få IT++ att bli kompatibelt med kompilatorn MinGW. Med den
Läs merInnehåll. Introduktion till objektorientering. OOP (objektorienterad programmering) Objekt, instanser, klasser
Föreläsning 1 Innehåll Introduktion till objektorientering OOP (objektorienterad programmering) Objekt, instanser, klasser C++ OO i C++ Standardbibliotek Utökningar från C (syntaktiskt socker) Introduktion
Läs merEmacs. Eric Elfving Institutionen för Datavetenskap (IDA)
Emacs Eric Elfving Institutionen för Datavetenskap (IDA) Emacs Utveckas konstant, från 70-talet Är en texteditor (inte ordbehandlare) och fokuserar på texten, inte utseendet. Ingår i GNU-projektet Har
Läs merAgil användbarhetsutveckling för handhållna enheter. Per Lind
Agil användbarhetsutveckling för handhållna enheter Per Lind perli379@student.liu.se per.lind@inspireit.se Laboration Pass 1: Tors. 4:e feb 13-17 Pass 2: Tors. 18:e feb 13-17 Uppgift: Skapa en app för
Läs merÖvningar Lektion3 Avancerade Webbteknologier 2
Övningar Lektion3 Avancerade Webbteknologier 2 Del 1: C#, Linq, Generics, Delegates Linq är väldigt centralt för en datadriven webbsida. I Backend-koden så blir det lätt väldigt mycket Linq-uttryck för
Läs merC++ Funktioner 1. int summa( int a, int b) //funktionshuvud { return a+b; //funktionskropp } Värmdö Gymnasium Programmering B ++ Datainstitutionen
C++ Funktioner 1 Teori När programmen blir större och mer komplicerade är det bra att kunna dela upp programmet i olika delar som gör specifika saker, vilket kan göra programmet mer lättläst. Ett sätt
Läs merTDIU01 (725G67) - Programmering i C++, grundkurs
. TDIU01 (725G67) - Programmering i C++, grundkurs Program, datatyper och IO Eric Elfving Institutionen för datavetenskap 7 oktober 2015 Översikt 2/14 Struktur på ett C++-program Köra ett program Variabler
Läs merprog: prog.c gcc -g -Wall prog.c /usr/local/bib/c/58an/modules/modul.o -o prog
DSV Sid 1(10) *:58/ID100V Jozef Swiatycki Innehållsförteckning Inledning... 1 Raddelning, kommentarer, macros och inkludering... 4 Undertryckning av utskrifter från make... 6 Flera kommandon per mål...
Läs merTDP005. Föreläsning 1. Filip Strömbäck
TDP005 Föreläsning 1 Filip Strömbäck 1 Kursinformation 2 Mjukvaruprojekt 3 Kravspecifikation 4 Metoder 5 Systemdesign och OOP 6 Testning 7 Kom ihåg TDP005 Filip Strömbäck 2 Personal Examinator Kursledare
Läs merTentamen i DD2387 Programsystemkonstruktion med C++
Tentamen i DD2387 Programsystemkonstruktion med C++ Resultat: Datum: Tisdag 19 oktober 2010, 14-18 (rättning 18-19) sal: id: Hjälpmedel: En eller två valfria läroböcker om C++ Tid: 4 timmar Skriv inte
Läs merLabb 1: Vad, hur, och varför?
Labb 1: Vad, hur, och varför? jonas.kvarnstrom@liu.se 2017 "En sak i taget": Öva grunder innan det blir mer komplicerat Starkt önskemål från studenter: Prova på kontrollstrukturer Labb 1: Intro till grunder
Läs merTillämpad programmering
Tillämpad programmering C++ make, configure och arrayer Johan Montelius 1 C++ sndcopy.cc #include #include sndreader.h #incldue sndwrite.h int main(int argc, char *argv[]) { 2 C++ sndreader.h #include
Läs merSubversion. Laboration. Höstterminen 2008 r81. Ronny Kuylenstierna
Subversion Laboration Höstterminen 2008 Ronny Kuylenstierna @ida.liu.se svn-labb 2 [...] Subversion can be used to manage changes to any sort of information images, music, databases, documentation, and
Läs merProgrammering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p
Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället
Läs merRFC 6106-stöd i Router Advertisment-klienten radns. Michael Cardell Widerkrantz mc@hack.org
RFC 6106-stöd i Router Advertisment-klienten radns Michael Cardell Widerkrantz mc@hack.org 24 augusti 2011 Innehåll Inledning................................... 2 Mål......................................
Läs merModul 3 - Modularisering
Modul 3 Modularisering MODULARISERING 2 FUNKTIONER 3 Funktionsdefinition 4 Funktionsanrop 5 Funktionskroppen 5 Slumpa funktionen rand() 6 Värdeanrop 6 Variablers räckvidd 8 Referensanrop 8 DELPROGRAM 10
Läs merGIT som alternativ till CVS/SVN i agila utvecklingsmiljöer
1 GIT som alternativ till CVS/SVN i agila utvecklingsmiljöer Kristofer Jacobson, Patrick Ivarsson Abstrakt En studie om versionshanteringssystemet Git och om möjligheten att använda det som alternativ
Läs mer1 Klasser och objektorientering Vad är objektorientering?
1 Klasser och objektorientering Vad är objektorientering? Det finns olika synsätt på programmering, dessa olika synsätt kallas för paradigm. De vanligaste paradigmen är det imperativa/proceduriella, det
Läs merInledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock
Inledning Vad är ett datorprogram, egentligen? Olika språk Problemlösning och algoritmer 1 (14) Varför använda en dator? Genom att variera de program som styr datorn kan den användas för olika uppgifter.
Läs merFöreläsning 7. Tobias Wrigstad. Versionshantering med git
Föreläsning 7 Tobias Wrigstad Versionshantering med git Arbetsflöde: $ git add file.c file.h $ git commit -m Explanatory message 1 2 https://git-scm.com/book/en/v2/getting-started-git-basics M 1 M 1 M
Läs merFöreläsning 9 Innehåll. Söndra och härska. Fibonaccitalen. Söndra och härska. Divide and conquer teknik för att konstruera rekursiva algoritmer.
Föreläsning 9 Innehåll Mer om rekursion söndra-och-härska-algoritmer dynamisk programmering backtracking Orientering om versionshantering med git Söndra och härska Divide and conquer teknik för att konstruera
Läs merInnehållsförteckning. Exempel. Åtkomst & användarhandledning
Framsidan Framsidan på din labrapport kan du utforma ganska fritt. Tänk bara på att den ska vara läsbar, och innehålla (minst) följande information: Ditt namn Din e-mail adress här på CS! Kursens namn
Läs merProgramsystem konstruktion med C++ (2D1387) Innehåll. övning 2 klasser och arv
Programsystem konstruktion med C++ (2D1387) övning 2 klasser och arv Ronnie Johansson rjo@nadakthse grupp 4 2003 09 25 Innehåll Klasskonstruktorer och initieringslistor Klassdestruktorer Åtkomstkontroll
Läs merProgrammering i C++ EDA623 Objektorienterad programutveckling. EDA623 (Föreläsning 5) HT 2013 1 / 33
Programmering i C++ EDA623 Objektorienterad programutveckling EDA623 (Föreläsning 5) HT 2013 1 / 33 Objektorienterad programutveckling Innehåll Grundläggande begrepp Relationer mellan objekt Grafisk representation
Läs merFilhanterare med AngularJS
Filhanterare med AngularJS Författare: Filip Johansson Peter Emilsson Oskar Georgsson Christian Nilsson Datum: 2014-03-26 1 Sammanfattning Filhanterare med AngularJS är en filhanterare skapad för Sigma
Läs merOperativsystem (IS1350) :00-12:00
Operativsystem (IS1350) 2017-03-15 08:00-12:00 Namn: Instruktioner Betyg Du får endast ha med dig skrivmateriel. Mobiler etc skall lämnas till tentamensvakterna. Svaren skall lämnas på dessa sidor, använd
Läs merTDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner
Läs merFöreläsning 9 Innehåll. Söndra och härska. Fibonaccitalen. Söndra och härska. Divide and conquer teknik för att konstruera rekursiva algoritmer.
Föreläsning 9 Innehåll Mer om rekursion söndra-och-härska-algoritmer dynamisk programmering backtracking Orientering om versionshantering med git Söndra och härska Divide and conquer teknik för att konstruera
Läs merTDDD80 Mobila och sociala applika1oner. Kursintroduk1on
TDDD80 Mobila och sociala applika1oner Kursintroduk1on Personal Kursansvarig, föreläsare, seminarieledare Rita Kovordanyi Labbansvarig, föreläsare, seminarieledare Anders Fröberg
Läs merÖvningar Dag 2 En första klass
Kurs i C++ Sid 1 (5) Övningar Dag 2 En första klass Denna övning går ut på att steg för steg bygga upp en klass och skapa objekt. Vi kommer att utgå från en sammansatt datatyp i en struct och parallellt
Läs merVad händer när man kör ett program? Program och processer. Funktionsanrop. Avsluta programmet
Vad händer när man kör ett program? Program och processer När man kompilerar ett program och sedan länkar ihop det så stoppar länkaren in lite extra kod i programmet. Det är denna kod som i sin tur anropar
Läs merTDDI02. På denna föreläsning: Programmeringsprojekt, Föreläsning 3. Filip Strömbäck. Verifikation, validering och testning
TDDI02 Programmeringsprojekt, Föreläsning 3 Filip Strömbäck Med utgångspunkt i tidigare slides av Jonas Lindgren På denna föreläsning: Verifikation, validering och testning Begreppsdistinktioner Lite populistiskt
Läs merObjektorientering - Arv och polymorfi. Eric Elfving Institutionen för datavetenskap
Objektorientering - Arv och polymorfi Eric Elfving Institutionen för datavetenskap 1 / 25 Med hjälp av arv kan vi bryta ut saker som är gemensamt hos flera klasser. Vi får också möjlighet att referera
Läs merTDDC76 - Programmering och Datastrukturer
TDDC76 - Programmering och Datastrukturer Objektorientering - Arv och polymorfi Eric Elfving Institutionen för datavetenskap 1 / 25 Med hjälp av arv kan vi bryta ut saker som är gemensamt hos flera klasser.
Läs merTDP003 Projekt: Egna datormiljön
. TDP003 Projekt: Egna datormiljön Egen utvecklingsmiljö Kursmaterial till kursen TDP003 Höstterminen 2017 Version 2.2 2017-06-30 2017-06-30 Egen utvecklingsmiljö INNEHÅLL Innehåll 1 Revisionshistorik
Läs merBryt ut logiken för att göra Bulk-ersättning av Category i Index i ProductControllern.
Lektion 13 Övningar TDD Bryt ut logiken för att göra Bulk-ersättning av Category i Index i ProductControllern. Målet är inte att du skall komma fram till exakt samma lösning som jag kom fram till. Målet
Läs merIntroduktionslaboration
TDDC76 Laborationshandledning 1 TDDC76 Programmering och datastrukturer Introduktionslaboration Denna introduktionslaboration introducerar programmeringsspråket C++, hur du skriver enkla C++-program samt
Läs merPlatina och kvalité. Rasmus Staberg, Teknisk direktör, 2014-04-08
Formpipe Platina och kvalité Rasmus Staberg, Teknisk direktör, 2014-04-08 04 08 1 Formpipe Presentation Bakgrund Platina släpptes som första release år 2000. Fick pris för Best in show från Bill Gates
Läs merTDDD80 Mobila och sociala applikationer. Kursintroduktion
TDDD80 Mobila och sociala applikationer Kursintroduktion Personal Kursansvarig, föreläsare, seminarieledare Rita Kovordanyi Labbansvarig, föreläsare, seminarieledare Anders Fröberg
Läs merLab1 Introduktion. 1 Syfte. 2 Innehåll Win32API Skapa trådar Kritiska sektioner Mailslothantering. 3 Förberedelse & Tips
Lab1 Introduktion Förberedelse för planetlabben genom att kapsla in (skapa wrappers) systemanrop. 1 Syfte Få en känsla av hur Win32API fungerar, dvs programmerarens interface gentemot Windows. Känsla för
Läs merLaboration 3 HI1024, Programmering, grundkurs, 8.0 hp
Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Dataingenjörsprogrammet, elektroingenjörsprogrammet och medicinsk teknik KTH Skolan för Teknik och Hälsa Redovisning: Se Kurs-PM om hur redovisningen
Läs merIntroduktion till Git Anton Ekberg Version 2
DAT055 - Objektorienterade appikationer Introduktion till Git Anton Ekberg ekberga@student.chalmers.se Version 2 Innehåll 1 Introduktion 1 1.1 Terminalen i Linux.......................................
Läs merTDP002 Imperativ programmering. Laborationsmaterial emacs python-mode
TDP002 Imperativ programmering Laborationsmaterial emacs python-mode Höstterminen 2008 Innehållsförteckning Introduktion...3 Redovisning av laborationer...3 Laboration 1 emacs python-mode...4 Uppgift 1
Läs merInsidan av ett Open Source projekt. Nicklas Avén
Insidan av ett Open Source projekt. Nicklas Avén Innehåll * Vem är jag * Hur jag började involvera mig i PostGIS * Hur koordineras utvecklingen i PostGIS Vem är jag? * Nicklas Avén * Bor i Norge * Jobbar
Läs merTDP003. Föreläsning 1. Filip Strömbäck
TDP003 Föreläsning 1 Filip Strömbäck 1 Kursinformation 2 Om IP-projekt 3 Projekt 4 Portfoliosystemet 5 ABC i social kompetens 6 Sammanfattning TDP003 Filip Strömbäck 2 Kursinformation Du hittar all information
Läs merGrunderna i C++ T A. Skapad av Matz Johansson BergströmLIMY
Grunderna i C++ ARK 385: Virtuella Verktyg i en Materiell värld AT Arkitektur & Teknik Chalmers Tekniska Högskola 2009 - Kursen skapades (3 förel.) 2010-6 förel. + 2 projekt 2011-8 förel. Helt omarbetade
Läs merServer-kod. TDDD80 Mobila och sociala applikationer
Server-kod 2017-01-16 2 Översikt Flask HTTP och REST Requests-biblioteket JSON PyCharm Git Informationssökningstips 2017-01-15 3 Klient Klient Klient Labb 4-8 (Android) Server Databas Labb 1-4 (server)
Läs merSå här skriver du ditt första program i C++
Så här skriver du ditt första program i C++ Introduktion till att skapa Solution, Project och källkodsfil i Visual Studio 2013 Författare Anne Norling Kurs: Strukturerad programmering med C++ Kurskod:1DV433
Läs merProgramsystemkonstruktion med C++
Programsystemkonstruktion med C++ Övning 2 Daniel Aarno bishop@kth.se Översikt övning 2 Klasser Konstruktorer Destruktorer Arv Virtuella funktioner Abstrakta klasser Operatorer Templateklasser Templatefunktioner
Läs merFö 2 TSEA81 Datorteknik och realtidssystem
Fö 2 TSEA81 Datorteknik och realtidssystem Shared Resources Shared resources En gemensam resurs är något som används av en eller flera processer. Det kan t ex var: Data: variabel, buffer, databas Hårdvara:
Läs merLaboration 3 HI1024, Programmering, grundkurs, 8.0 hp
Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Dataingenjörsprogrammet, elektroingenjörsprogrammet och medicinsk teknik KTH Skolan för Teknik och Hälsa Redovisning: Se Kurs-PM om hur redovisningen
Läs merSystemutveckling i praktiken
Systemutveckling i praktiken Peter Vi är Peter och Olov och kommer från Codemill. Codemill är: - Design- och utvecklingsföretag i Umeå - Ca 50 personer - Specialiserade på videoteknik - Våra kunder är
Läs merC++ Slumptalsfunktioner + switch-satsen
C++ Slumptalsfunktioner + switch-satsen Veckans avsnitt består av ett antal lite udda funktioner man kan ha nytta av när man skriver program. Det är en slumptalsgenerator och lite annat smått och gott.
Läs merInnehåll. EDAf30: Programmering i C++, 7.5 hp. EDAf30: Programmering i C++, 7.5 hp Viktiga skillnader mot Java
Innehåll EDAF30 Programmering i C++ 1. Introduktion 1 Om kursen Sven Gestegård Robertz Datavetenskap, LTH 2016 2 Presentation av C++ Historik Inledning Datatyper och variabler 1. Introduktion 2/1 Viktiga
Läs merDRAFT. CVS kurs laboration 1 Checka in, ut och uppdatera. Marcus Rejås. 17 november 2002
CVS kurs laboration 1 Checka in, ut och uppdatera Marcus Rejås 17 november 2002 Innehåll 1 Inledning 1 2 Förberedelser (om du skall köra CVS på en remote server) 1 2.1 Installera CYGWIN......................................
Läs merTentamen i TDP004 Objektorienterad Programmering Praktisk del
Tentamen i TDP004 Objektorienterad Programmering Praktisk del Datum: 2010-04-07 Tid: 8-12 Plats: SU-salar i B-huset. Jour: Per-Magnus Olsson, tel 285607 Jourhavande kommer att besöka skrivsalarna ungefär
Läs merProj-Iteration 5B. Plan för återstående iterationer
Proj-Iteration 5B PVG/Coaching Boris Magnusson Datavetenskap LTH PVG/Coach 2009. Proj-Iter5B : 1 Plan för återstående iterationer Förutom att arbeta vidare på stories skall release göras både under iteration
Läs merProgrammering i C++ EDA623 Arv. EDA623 (Föreläsning 6) HT 2013 1 / 42
Programmering i C++ EDA623 Arv EDA623 (Föreläsning 6) HT 2013 1 / 42 Arv Innehåll Härledda klasser Konstruktorer och destruktorer vid arv Tillgänglighet Polymorfism och dynamisk bindning Abstrakta klasser
Läs merUPPDATERA DIN UNICO-ORGELS OPERATIVSYSTEM!
UPPDATERA DIN UNICO-ORGELS OPERATIVSYSTEM! Motorn i din UNICO-orgel är en LINUX-dator med programvara i form av ett operativsystem. Denna programvara förbättras ständigt och du bör därför uppgradera den.
Läs merSgLib Simple Graphics Library
SgLib Simple Graphics Library SgLib är en förenkling av glut som I sin tur bygger på open GL. Om du inte känner till glut och open GL, räcker det att veta att sglib är en samling filer som gör det lättare
Läs merGoda råd från studenterna som gjorde kandidatprojektet 2018
Goda råd från studenterna som gjorde kandidatprojektet 2018 Strukturera tiden och se till att komma igång tidigt i kursen. Det är en väldigt intensiv period när sommaren närmar sig och det är inte till
Läs mer