Windows og MS Office er skrevet i C og C++ (de maa vel kaldes kendte)
kernen i Windows er nok C mens stoerstedelen af resten er C++ (p.g.a. OLE/COM)
Synes godt om
Slettet bruger
18. oktober 2006 - 19:22#3
Hvorfor er kernen C, er C++ ikke nyere? hvilken editor vil du forslå? kender du til nogen tutorials som ikke er forældet eller bare dårlig skrevet på nettet? :)
1) familen gaar lang tilbage Vista->XP->2000->NT 4->NT 3.51->NT 3.1 og den gang var C++ ikke saa almindelig
2) Win32 API som exposes overfor udviklerne er et C API
3) visse ting i kernen kraver en rimelig god kontrol over hvad koden goer og der er C bedre end C++
Jeg har ikke adgang til Windows source code, saa jeg ved ikke hvor meget de maate have omskrevet i Windows kernen fra C til C++, men jeg tror ikke at det er meget.
Men gaar vi op i applikationer (baade Office og dem som kommer med Windows), saa er OLE/COM et must og derfor maa stort set alt det vaere lavet i C++.
en standard editor (textpad, jedit, notepad etc.) og mingw
eller:
dev-cpp (eller code::blocks)
Synes godt om
Slettet bruger
18. oktober 2006 - 20:03#7
kunne det måske så bedre betale sig at gå i gang med C som en start? hvad er nemmest at blive sat ind i for en begynder? har en ide om at det er nemmest for en at arejde med et udviklings miljø, så dev.cpp eller code::blocks, hvad syntes du er bedst af det?
er der skrevet ogen gode bøger om C / C++ på dansk? eller skal man ha fat i en engelsk?
det er staerkt omdiskuteret hvorvidt man skal starte med C inden C++ eller gaa direkte til C++
jeg tror at flertallet idag mener at man skal gaa direkte til C++ fordi man laerer for mange unoder i C som virker i C++ men som ikke er den optimale maade at goere det paa
>> 3) visse ting i kernen kraver en rimelig god kontrol over hvad koden goer og der >> er C bedre end C++
Hej Arne, jeg kom til at sidde og spekulere over hvor man ville have større kontrol i C end man har i C++ - men jeg har ikke rigtigt selv kunne komme på noget.. Har du nogle eksempler?
Ting der tilgår hardware og interrupt routiner er ofte lavet i C. Dels fordi det kører en anelse hurtigere og dels fordi det skal kunne interface til assembler. På laveste niveau er der ikke vundet ret meget ved at bruge C++.
Til Linux kernen bruger man vist stadig ren C til det meste.
Code::Blocks: http://www.codeblocks.org/ Er en nem måde at komme i gang, hvis du downloader og instalerer versionen MED mingw compiler er du i gang på 5 minutter.
Hvis man programmer C++ og ikke C i C++, så programmerer man typisk på et lidt højere niveau.
Nu er jeg ikke Windows kernel kyndig, men jeg kender lidt til kernel mode programmering på VMS.
På VMS har man i kernel mode en stack på 8192 bytes. Det er skam nok til en hel masse. Men ikke hvis man begynder at jonglere rundt med store data mængder. Objektorienteret C++ vil typisk både bruge mere memory end C og være vanskeligere at estimere memory forbrug for.
På VMS har man i kernel mode med interrupt prioritet level over et eller andet (2 tror jeg) ikke lov til at page d.v.s. at man skal have låst både al sin kode og al sin data i fysisk memory. I objektorienteret C++ kan det godt være lidt svært at gennemskue hvilke memory adresser man bruger.
Synes godt om
Slettet bruger
19. oktober 2006 - 12:27#20
arne v -> hvad ville du vælge istedet for notepad?
berthel -> hvorfor vil du vælge code::blocks?
og generelt, kan det bedre betale sig at starte med C istedet for C++??
en af de store allround editorer: jeg kender mange som er glade for ultraedit (men den koster en lille smule), jeg ved også at en del er glade for textpad, personligt foretrækker jeg jEdit (kræver java på PC, men det har jeg !), jEdit er gratis - det mener jeg også at textpad er
det er dev-cpp nu også, men du gaar ikke helt galt med code::blocks til at starte med
og svar
Synes godt om
Slettet bruger
28. oktober 2006 - 18:19#26
er gået i stå med programering pga. nyt arbejde ;( / :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.