C++ VS Delphi...

Tags:    c++

hej
jeg arbejder på at lærer c++win 32 API....
men er pludseligt kommet i tvil om det er det rigtige... for det jeg vil udvikle er programmer som benytter standart windows grafik.......
og jeg kan finde MS visual delphi 7.0 til ca. 100 $
men jeg kan derimod ikke finde MS visuel c++ til mindre end 400 $ (jeg ved godt6 at der findes en lang række gratis compilers til cpp og delphi men jeg er mest interesseret i en god og stabil compiler..... til under 1000 KR.

er der nogen der kan fortælle mig hvad der er lettest og mest advangceret???? jeg er også interesseret i at vide om delphi kan køre på linux????? (ikke fordi jeg skal skrive linux app...)

er der nogen der kan forklarer forskelden på c++ og delphi???

på forhånd tak for hjælpen.....

Mvh. Jop...



37 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato

af hensyn til hvad jeg vil vælge tror jeg det bliver c++, fordi det er det ælste sprog... (jeg ved ikke hvornår delphi fra....) men c++ stammer fra c som er skrevet omkring 1957-1963.... (så jeg kan næsten kun forestille mig a c er ælst...)

Øhhh..underlig grund til at vælge et sprog. Fortran er endnu ældre (og C er fra starten af 70'erne).
C/C++ er det sprog, som de fleste eksisterende programmer er skrevet i og som de fleste professionelle bruger, så det er en meget bedre grund.



ASM er ældre og bedre. Griner
Køb en plet og kald den Zebra !!!
Janus S. Andersen



ASM er ældre og bedre. Griner



ASM er noget moderne pjat, lad os programmere som man gjorde i de gode gamle dage:

Fold kodeboks ind/udKode 




ok, og hvad har dette med ASM at gøre.

Fortæl mig hvordan du vil kode en DSP hvis du ikke vil gøre det i ASM (og du vil udnytte dens evner til at køre flere inst. pr clock).

En stump ASM
mov ax,17
mov dx,3

Til tider er det nemmere at bruge ASM, også selv om man har C/C++. ASM kan skrives inlinie i de fleste programmeringsprog.

#asm
{}
#asmend
ellse
asm(); Dette kommer an på din kompiler

Jeg vil meget gerne have et svar på hvordan ASM er moderne ????

Sådan som jeg bruger sproget, bliver det brugt til hardware programmering, og ikke GUI- programmering.
Men man lære hver dag.
Fortæl så jeg / vi kan lære noget mere

Med Venlig Hilsen
Janus S. Andersen




Det var en spøg fra Bertels side. Ked af at du ikke forstod den.
Det han sagde var at assembly som jo bruger mnemonics for de forskellige handlinger er for nemt og gav et eksempel på programmering i binært (maskinkode).

[Redigeret d. 22/04-04 15:51:55 af Robert Larsen]



Ok Sorry Bertels godt ord igen
Janus S. Andersen

P.s Bruger selv sproget meget



Som Robert forklarede var mit lille program ment som en joke, der viser hvordan man laver koden direkte i binær kode.

Måske er der nogen der er lidt i tvivl om hvad følgende linie gør:

int a = ((int (*)(int, int))f)(31, 11);

Det der sker er at man caster f til en funktions pointer af typen "int func(int, int)", og kalder denne funktion. Funktionen kaldes med 31 og 11 som argumenter og a sættes til at være retur værdien.

Dem der kende assembler på PC godt kan umiddelbart se at f (som jo var et array af int's) i virkeligheden var en funktion der returnerer summen af de to argumenter.

Og skulle nogen være i tvivl:
1: Ja, det virker med nogen C kompilere, jeg har testet med Borland og Cygwin-gcc
2: Nej, det er ikke et gyldigt ANSI-C program.
3: Nej, det er ikke noget jeg bruger ret tit.

Det gode ved den slags er at man kan lave ting som:

Fold kodeboks ind/udKode 


Så mangler vi blot at finde ud af om man kan lave den slags i delphi ;-)



Det er muligt at lave inlinie ASM i Delphi, men jeg bruger det ikke brugt så meget.

Hvordan man laver inlinie asm i Delphi kan læses i Delphi bogen eller under hjælp.

f.eks.

function LongMul(X, Y: Integer): Longint;
asm
MOV EAX,X
IMUL Y
end;

Med Venlig Hilsen
Janus S. Andersen

P.s Håber dette gav lidt info, og ikke bare ar spild af tid



Det er muligt at lave inlinie ASM i Delphi, men jeg bruger det ikke brugt så meget.

Hvordan man laver inlinie asm i Delphi kan læses i Delphi bogen eller under hjælp.

f.eks.

function LongMul(X, Y: Integer): Longint;
asm
MOV EAX,X
IMUL Y
end;

Med Venlig Hilsen
Janus S. Andersen

P.s Håber dette gav lidt info, og ikke bare ar spild af tid

hehe...det var jo ikke inline assembly men inline maskinkode :-)



assembly = ASM. Nogle kalder det også maskinkode. (Selv om det ikke helt er maskinkode)

Maskinkode er ren hex kode der kan afvikles af computeren. Hvilket vil sige den over satte ASM-kode. Men ok griner nok

Prøv at starte en dospromt
(cmd)
skriv derefter "debug"
skriv herefter "u"
Det der står til højre er asm og det der står til venstre er adresse og vist nok maskinkode...

Skriv "q" for at fodlade debug (? for helt)

Pas på med debug her kan man skrive til man mærkelige ting på ens computer. BIOS med mm.

Med Venlig Hilsen
Janus S. Andersen



t