• 22 766 online
  • 1 176 068 medlemmar
  • 60 674 934 inlägg
2018-05-31, 23:09
  #3001
Moderator
Neksnors avatar
Citat:
Ursprungligen postat av Zabriskie.Point
Ska jag ge mig på C eller C++? Alltså att lära mig. Jag kan redan programmera, men de språk jag har arbetat med är Java, Python och Assembler (för Cortex M - serien, Thumb 2).

Om man lär sig C++, kan man säga att man kan C då med?


Vad ska du göra kanske någon frågar sig då, ingen aning, men jag avslutade precis första året för att bli Civ.Ing i Datateknik, och nu under sommaren tänkte jag ge mig på C eller C++
Det finns väl risk för att den där Cortexen ska programmeras med C nästa år?
Citera
2018-06-01, 09:05
  #3002
Medlem
RostigHinks avatar
Citat:
Ursprungligen postat av Zabriskie.Point
Ska jag ge mig på C eller C++? Alltså att lära mig. Jag kan redan programmera, men de språk jag har arbetat med är Java, Python och Assembler (för Cortex M - serien, Thumb 2).

Om man lär sig C++, kan man säga att man kan C då med?


Vad ska du göra kanske någon frågar sig då, ingen aning, men jag avslutade precis första året för att bli Civ.Ing i Datateknik, och nu under sommaren tänkte jag ge mig på C eller C++
C++ skulle jag säga. Med tanke på att en C++-kompilator kan kompilera ett C-program nästan rakt av så säger det vilka likheter språken har. Själv har jag gått andra vägen då jag lärde mig C innan ens C++ var framme. Det fungerar det också. Eftersom du säger att du kan java så är inte steget särskilt långt till C++, mest är det att du får deklarera typ på dina variabler medan java gör det automatiskt. Visserligen har C++ möjlighet att deklarera automatiskt med auto vid kompileringen men kan man undvika det blir programmen mer läsbara.
Citera
2018-06-01, 09:23
  #3003
Medlem
Citat:
Ursprungligen postat av RostigHink
Eftersom du säger att du kan java så är inte steget särskilt långt till C++, mest är det att du får deklarera typ på dina variabler medan java gör det automatiskt. Visserligen har C++ möjlighet att deklarera automatiskt med auto vid kompileringen men kan man undvika det blir programmen mer läsbara.

Hur menar du att java gör det automatiskt? Är det något nytt i de senare javaversionerna som jag inte känner till?
Citera
2018-06-01, 11:41
  #3004
Medlem
RostigHinks avatar
Citat:
Ursprungligen postat av Hominem
Hur menar du att java gör det automatiskt? Är det något nytt i de senare javaversionerna som jag inte känner till?
Oj, blandade ihop med python av någon anledning... ålder kanske
Citera
2018-06-01, 13:38
  #3005
Medlem
kaks avatar
Citat:
Ursprungligen postat av RostigHink
C++ skulle jag säga. Med tanke på att en C++-kompilator kan kompilera ett C-program nästan rakt av så säger det vilka likheter språken har. Själv har jag gått andra vägen då jag lärde mig C innan ens C++ var framme. Det fungerar det också. Eftersom du säger att du kan java så är inte steget särskilt långt till C++, mest är det att du får deklarera typ på dina variabler medan java gör det automatiskt. Visserligen har C++ möjlighet att deklarera automatiskt med auto vid kompileringen men kan man undvika det blir programmen mer läsbara.
Själv tillhör jag AAA-skolan. (Almost always auto)
Att koda mot bibliotek som använder expression templates var ju i princip omöjligt innan C++11 och auto.
Dessutom visar ju ett modernt IDE den bakomliggande typen åt dig i de flesta fall.
Även skönt att slippa saker som type_traits och liknande i många templates.
Nu väntar jag bara på att få använda en kompilator som stödjer "if constexpr".
Så mycket enklare än "enable_if" och liknande hack.
__________________
Senast redigerad av kak 2018-06-01 kl. 13:41.
Citera
2018-06-01, 18:20
  #3006
Medlem
Zabriskie.Points avatar
Citat:
Ursprungligen postat av Neksnor
Det finns väl risk för att den där Cortexen ska programmeras med C nästa år?

Ja, det är inte alls omöjligt! Men jag kör nog på med C++

Citat:
Ursprungligen postat av RostigHink
C++ skulle jag säga. Med tanke på att en C++-kompilator kan kompilera ett C-program nästan rakt av så säger det vilka likheter språken har. Själv har jag gått andra vägen då jag lärde mig C innan ens C++ var framme. Det fungerar det också. Eftersom du säger att du kan java så är inte steget särskilt långt till C++, mest är det att du får deklarera typ på dina variabler medan java gör det automatiskt. Visserligen har C++ möjlighet att deklarera automatiskt med auto vid kompileringen men kan man undvika det blir programmen mer läsbara.

Tack för svar, som jag svarade neksnor så kör jag på med C++
Och det är ju som du säger, kan man väl ett programspråk så är det inte någon speciellt stor ansträgning att lära sig ett nytt, vad jag sett så är C/C++ syntaxen väldigt lik Java vilket är positivt för min del!
Citera
2018-06-10, 16:58
  #3007
Medlem
Ranndalls avatar
Försöker jämföra scanf/printf med gets/puts. Programmet kör aldrig gets. Får felmeddelandet:

" warning: implicit declaration of function ‘gets’ [-Wimplicit-function-declaration]
gets(fnamn);
^ "


Citera
2018-06-10, 17:21
  #3008
Medlem
RostigHinks avatar
Citat:
Ursprungligen postat av Ranndall
Försöker jämföra scanf/printf med gets/puts. Programmet kör aldrig gets. Får felmeddelandet:

" warning: implicit declaration of function ‘gets’ [-Wimplicit-function-declaration]
gets(fnamn);
^ "


gets() är av typen char*, dvs den returnerar en pekare till en array av char.
Citera
2018-06-13, 23:10
  #3009
Medlem
Om jag vill stänga ner min konsol applikation genom att hålla ner ctrl + c
Hur gör jag det? Förklara gärna vad som sker då jag vill förstå.
Det jag hittat när jag googlat har varit något förvirrande, vet inte riktigt hur jag ska placera in det i min kod.

Tack.
Citera
2018-06-14, 02:10
  #3010
Moderator
Neksnors avatar
Citat:
Ursprungligen postat av GoldNux
Om jag vill stänga ner min konsol applikation genom att hålla ner ctrl + c
Hur gör jag det? Förklara gärna vad som sker då jag vill förstå.
Det jag hittat när jag googlat har varit något förvirrande, vet inte riktigt hur jag ska placera in det i min kod.

Tack.
Jag kan inte alls detaljerna, men det handlar om att ungefär om att operativsystemet skickar ett meddelande till appen, som då förväntas avsluta (men det är upptill appen att bestämma). Hur man gör för att få sitt program att lyda ctrl c vet jag inte. Instruktionsflödet blir ungefär: tangentbord > avbrott i datorn som informerar OS > OS tänker lite > OS ber appen avsluta.
Citera
2018-06-14, 12:43
  #3011
Avstängd
Citat:
Ursprungligen postat av GoldNux
Om jag vill stänga ner min konsol applikation genom att hålla ner ctrl + c
Hur gör jag det? Förklara gärna vad som sker då jag vill förstå.
Det jag hittat när jag googlat har varit något förvirrande, vet inte riktigt hur jag ska placera in det i min kod.

Tack.

Kort svar: det behöver du inte. Det är en funktion i konsollen/terminalen. Så här fungerar det i *nix:

Såvida terminalen inte har satts i raw mode, skickar den signalen SIGINT till programmet när den får Ctrl-C (tecknet med ASCII-värde 3). Har du då inte registrerat en egen hanterare för den med signal() från standardbiblioteket, körs default-hanteraren och den avbryter programmet. Samma sak kan uppnås med kommandot kill, som trots sitt namn är till för att skicka valfri signal till valfri process.

Registrera hanterare om du behöver städa upp innan programmet plötsligt avbryts. Att lämna en gammal highscorefil halvskriven/-uppdaterad och i invalid-format är t.ex. olämpligt. Program som buggar ur och vägrar att dö för att de har registrerat en hanterare som väntar på något annat i programmet (eller hanteraren kanske t.o.m. är buggig själv) går alltid att avbryta med SIGKILL, med det berömda värdet 9. Den gör samma sak med skillnaden att program inte kan registrera en egen hanterare för den.

killall -9
Citera