/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
Forskel på compilere
Fra : Niels Andersen


Dato : 21-08-01 17:28

I et kursus anbefaler man at bruge Borland C++ som compiler. I "min verden"
findes der kun én c++-compiler: "gcc".

I kurset tester man med:

#include <iostream.h>

void main(void){
cout << "Installationen virker";
}

Men det vil ikke compile. Når jeg skriver "gcc test.cpp" giver den mig to
fejl:
"undefined reference to `cout'"
"undefined reference to `ostream:erator<<(char const *)'"

Men dette virker helt som det skal:
#include <stdio.h>
main()
{
printf("Installationen virker");
}

Hvad er nu det? Der er da kæmpe forskel på de to programmer? Er det ikke C++
begge dele?
Er C++ ikke grundlæggende det samme, uanset compiler?

SKAL jeg så bruge Borland C++ for at følge kurset?

--
Mvh.

Niels Andersen



 
 
Martin Moller Peders~ (21-08-2001)
Kommentar
Fra : Martin Moller Peders~


Dato : 21-08-01 18:29

In <i_vg7.8265$3q.268024@news010.worldonline.dk> "Niels Andersen" <niels-usenet@myplace.dk> writes:

>I et kursus anbefaler man at bruge Borland C++ som compiler. I "min verden"
>findes der kun én c++-compiler: "gcc".

>I kurset tester man med:

>#include <iostream.h>

>void main(void){
> cout << "Installationen virker";
>}

Det er ogsaa noget vroevl at skrive og ikke korrekt C++ kode.

Skriv istedet for:

#include <iostream>

using namespace std;

int main() {
   cout << "Installationen virker\n";
   return 0;
}

>Er C++ ikke grundlæggende det samme, uanset compiler?

Nej.

>SKAL jeg så bruge Borland C++ for at følge kurset?

Jeg vil foreslaa at du dropper kurset, eller spoerger din laerer hvorfor
han bruger saadanne noget daarligt C++ kode.

/Martin




Mogens Hansen (21-08-2001)
Kommentar
Fra : Mogens Hansen


Dato : 21-08-01 22:15


"Martin Moller Pedersen" <tusk@daimi.au.dk> wrote in message
news:9lu5of$12ou$1@news.net.uni-c.dk...
> In <i_vg7.8265$3q.268024@news010.worldonline.dk> "Niels Andersen"
<niels-usenet@myplace.dk> writes:
>
> >Er C++ ikke grundlæggende det samme, uanset compiler?
>
> Nej.

Hvorfor det ?

Jeg ville sige "Jo - uafhængigt af compiler".
Når der snakkes om C++, så menes der formodentlig det programmeringssprog,
der er beskrevet i "ISO/IEC 14882" standarden.

Den standard kan så være implementeret i større eller mindre udstrækning af
forskellige compilere. Det ændrer dog ikke ved sprogdefinitionen.

Det at en mere eller mindre tilfælding compiler tillader eller forkaster
noget kode, gør ikke den kode mere eller mindre korrekt i forhold til
standarden.
Det kan naturligvis gøre koden eller compileren ubrugelig i den konkrete
situation .

Venlig hilsen

Mogens Hansen



Thomas L. Christense~ (21-08-2001)
Kommentar
Fra : Thomas L. Christense~


Dato : 21-08-01 18:36

"Niels Andersen" <niels-usenet@myplace.dk> wrote:

>I et kursus anbefaler man at bruge Borland C++ som compiler.

Hehe... Det kursus er jeg også lige startet på.

(Jeg ved ikke hvorfor din gcc ikke vil som du vil)


>Men dette virker helt som det skal:
>#include <stdio.h>
>main()
>{
> printf("Installationen virker");
>}
>
>Hvad er nu det? Der er da kæmpe forskel på de to programmer? Er det ikke C++
>begge dele?

Nope. Printf er C, cout er C++.


>Er C++ ikke grundlæggende det samme, uanset compiler?

Hehe... Jeg tror det her kan udløse en religionskrig...


>SKAL jeg så bruge Borland C++ for at følge kurset?

Næppe. Men det skal nok vise sig at være en fordel.



--
Med venlig hilsen
Thomas L. Christensen, Svendborg

Niels Andersen (21-08-2001)
Kommentar
Fra : Niels Andersen


Dato : 21-08-01 19:06

"Thomas L. Christensen" <tlc@get2net.dk> wrote in message
news:vd65otsvf2u5cbn0n07e765rjrrrj9cbit@news.tele.dk...
> >Men dette virker helt som det skal:
> > printf("Installationen virker");

> Nope. Printf er C, cout er C++.

Dvs. når jeg skriver "gcc filnavn", så er det ikke c++?
Hmm... "gcc" kalder ellers et program, der hedder "c++", men det kan da godt
være, at den også kan klare c. :)

--
Mvh.

Niels Andersen



Anders Borum (22-08-2001)
Kommentar
Fra : Anders Borum


Dato : 22-08-01 00:09


"Niels Andersen" <niels-usenet@myplace.dk> wrote in message
news:Ppxg7.9307$3q.274944@news010.worldonline.dk...
[klip]
> Dvs. når jeg skriver "gcc filnavn", så er det ikke c++?
> Hmm... "gcc" kalder ellers et program, der hedder "c++", men det kan da
godt
> være, at den også kan klare c. :)

Goddag Niels.

Det afhænger af filnavnets endelse om gcc fungerer som c- eller c++
compiler. Ved endelsen .cc bliver det kompileret som c++, mens det med
endelserne .c eller .cpp kompileres som gammeldags c. Det kan være lidt
forvirrende, når man i windows-verdenen har vænnet sig til at cpp stod for
cplusplus.

Anders

[klip]




Niels Andersen (22-08-2001)
Kommentar
Fra : Niels Andersen


Dato : 22-08-01 06:40

"Anders Borum" <aborum@hotmail.com> wrote in message
news:nUBg7.20608$Ay1.343548@news000.worldonline.dk...
> > Dvs. når jeg skriver "gcc filnavn", så er det ikke c++?

> Det afhænger af filnavnets endelse om gcc fungerer som c- eller c++
> compiler. Ved endelsen .cc bliver det kompileret som c++, mens det med
> endelserne .c eller .cpp kompileres som gammeldags c. Det kan være lidt
> forvirrende, når man i windows-verdenen har vænnet sig til at cpp stod for
> cplusplus.

Det mest forvirrende er, at i linux er man jo normalt ligeglad med hvad
filen hedder. Og gcc er jo et linux-program. :)

Jeg prøvede at omdøme filen til test.cc, men det hjalp ikke.

Så gav jeg mig til noget så mærkeligt, som at læse man-siden til gcc. Der
stod, at hvis man nu kalde g++ i stedet, så blev det tolket som c++. Og
søreme, om ikke det så virkede.
Hvor føler jeg mig dog dum. :) Min undskyldning er, at jeg læste på den
manside engang for længe siden, og troede jeg kunne huske det vigtigste. Men
den gang var det nok c jeg legede med, og ikke c++. :)

--
Mvh.

Niels Andersen



Per Abrahamsen (22-08-2001)
Kommentar
Fra : Per Abrahamsen


Dato : 22-08-01 11:06

"Anders Borum" <aborum@hotmail.com> writes:

> Det afhænger af filnavnets endelse om gcc fungerer som c- eller c++
> compiler. Ved endelsen .cc bliver det kompileret som c++, mens det med
> endelserne .c eller .cpp kompileres som gammeldags c.

Nej, ".cpp" oversættes også som C++.

Problemer er som sagt bibliotekerne, gcc linker kun med C
biblioteketen. g++ (og c++) linker også med C++ biblioteket. Den del
har intet med filendelser at gøre.


Per Abrahamsen (21-08-2001)
Kommentar
Fra : Per Abrahamsen


Dato : 21-08-01 19:06

"Niels Andersen" <niels-usenet@myplace.dk> writes:

> Hvad er nu det? Der er da kæmpe forskel på de to programmer? Er det ikke C++
> begge dele?

I nummer to program bruger du kun C funktioner.

"gcc" linker altid med C biblioteket, med kun med C++ biblioteket hvis
man beder om det. Den letteste måde at bede om det er at compile med
"c++" i stedet for med "gcc".

Mogens Hansen (21-08-2001)
Kommentar
Fra : Mogens Hansen


Dato : 21-08-01 20:25


"Niels Andersen" <niels-usenet@myplace.dk> wrote in message
news:i_vg7.8265$3q.268024@news010.worldonline.dk...
> I et kursus anbefaler man at bruge Borland C++ som compiler. I "min
verden"
> findes der kun én c++-compiler: "gcc".

Hvad skal I lære på kurset ?

Hvis det er C++ programmering så
* burde begge compilere kunne bruges.
* bør der præsenteres ISO C++ kode - hvilket Martin Møller Pedersen
allerede har påpeget
* find et bedre undervisningsmateriale.

Mine "muligvis spild af tid" advarsels lamper lyser, efter dit kode
eksempel.

Jeg kan varmt anbefale bogen
Accelerated C++, Practical Programming by Example
Andrew Koenig, Barbara E. Moo
ISBN 0-201-70353-X

Det er en meget god og moderne bog, skrevet af nogle af verdens førende
eksperter på området (undervisning i C++)

Derefter kan jeg anbefalte
The C++ Programming Language, Special Edition
Bjarne Stroustrup
ISBN 0-201-70073-5
(eller "The C++ Programming Language, 3rd Edition" som har samme indhold men
er trykt på dårligere papir og paperback)

Se i øvrigt
http://www.two-sdg.demon.co.uk/curbralan/papers/TheMiseducationOfC++.pdf
af Kevlin Henney på http://www.curbralan.com/ for en glimrende gennemgang af
hvor man bør og ikke bør lære C++

Venlig hilsen

Mogens Hansen



Mogens Hansen (21-08-2001)
Kommentar
Fra : Mogens Hansen


Dato : 21-08-01 22:14


"Niels Andersen" <niels-usenet@myplace.dk> wrote in message
news:i_vg7.8265$3q.268024@news010.worldonline.dk...
> I et kursus anbefaler man at bruge Borland C++ som compiler. I "min
verden"
> findes der kun én c++-compiler: "gcc".

Er det ikke lidt snæversynet ?

>
> SKAL jeg så bruge Borland C++ for at følge kurset?
>

Det afhænger (som sagt) af hvad du skal lære på kurset.

Hvis du skal lære noget Borland C++ specifikt (f.eks. VCL klassebiblioteket,
med tilhørende sprogændringer) er du naturligvis tvunget til at bruge
Borland's compiler.

Hvis det er C++, så vil jeg primært anbefale at du benytter en moderne C++
compiler.
Det er mindre væsentligt hvilken, blot den er stabil og virker på din
platform.
Brug gerne mere end een - det kan hjælpe med at afklare tvivlsspørgsmål.
Du bør nok ikke benytte en compiler fra før omkring 1997/98 (helst nyere)
til undervisningsformål.
Du kan iøvrigt hente Borland C++ V5.5 kommando linie compileren til
MS-Windows gratis på www.borland.com.

Jeg oplever både Borland C++ V5.5 og gcc V2.96 som rimeligt gode
implementeringer af C++ standarden.


Venlig hilsen

Mogens Hansen



Kent Friis (22-08-2001)
Kommentar
Fra : Kent Friis


Dato : 22-08-01 01:14

Den Tue, 21 Aug 2001 23:14:14 +0200 skrev Mogens Hansen:
>
>"Niels Andersen" <niels-usenet@myplace.dk> wrote in message
>news:i_vg7.8265$3q.268024@news010.worldonline.dk...
>> I et kursus anbefaler man at bruge Borland C++ som compiler. I "min
>verden"
>> findes der kun én c++-compiler: "gcc".
>
>Er det ikke lidt snæversynet ?

Det er vel mere et spørgsmål om hvilke compilere der reelt kan køre
på den valgte platform.

>Du kan iøvrigt hente Borland C++ V5.5 kommando linie compileren til
>MS-Windows gratis på www.borland.com.

Til gengæld er MS-Windows ikke helt billig - hvis den overhovedet kan
køre på mandens hardware.

Mvh
Kent
--
Which one is faster - Lotus Notes or Lotus Esprit?

Niels Andersen (22-08-2001)
Kommentar
Fra : Niels Andersen


Dato : 22-08-01 07:14

"Kent Friis" <kfr@fleggaard.dk> wrote in message
news:9lutgk$r7$1@sunsite.dk...
> >Du kan iøvrigt hente Borland C++ V5.5 kommando linie compileren til
> >MS-Windows gratis på www.borland.com.
>
> Til gengæld er MS-Windows ikke helt billig - hvis den overhovedet kan
> køre på mandens hardware.

Der er i hvert fald ikke den store grund til at bøvle med en gratis
Windows-compiler, når de fleste af de computere jeg bruger kører linux, og
de alle har en FRI compiler i forvejen. :)

--
Mvh.

Niels Andersen



Thorbjørn Ravn Ander~ (22-08-2001)
Kommentar
Fra : Thorbjørn Ravn Ander~


Dato : 22-08-01 09:22

Niels Andersen wrote:

> Der er i hvert fald ikke den store grund til at bøvle med en gratis
> Windows-compiler, når de fleste af de computere jeg bruger kører linux, og
> de alle har en FRI compiler i forvejen. :)

En Linux-eksekverbar fil, kører generelt ikke særlig godt under DOS.

--
Thorbjørn Ravn Andersen "...plus... Tubular Bells!"
http://bigfoot.com/~thunderbear

Niels Andersen (22-08-2001)
Kommentar
Fra : Niels Andersen


Dato : 22-08-01 11:02

"Thorbjørn Ravn Andersen" <thunderbear@bigfoot.com> wrote in message
news:9lvq70$c7c$4@tux.netsite.dk...
> > Der er i hvert fald ikke den store grund til at bøvle med en gratis
> > Windows-compiler, når de fleste af de computere jeg bruger kører linux,
og
> > de alle har en FRI compiler i forvejen. :)
>
> En Linux-eksekverbar fil, kører generelt ikke særlig godt under DOS.

Nej, faktisk skulle det faktisk aldrig kunne lade sig gøre. Hvad vil du sige
med det?

Med "alle" mente jeg både linux og windows. Det ville nok fremgå tydeligere,
hvis jeg byttede om på rækkefølgen:
"...når alle de computere jeg bruger har en FRI compiler i forvejen, og de
fleste i øvrigt kører linux"

--
Mvh.

Niels Andersen



Thorbjørn Ravn Ander~ (22-08-2001)
Kommentar
Fra : Thorbjørn Ravn Ander~


Dato : 22-08-01 20:42

Niels Andersen wrote:


> > En Linux-eksekverbar fil, kører generelt ikke særlig godt under DOS.
>
> Nej, faktisk skulle det faktisk aldrig kunne lade sig gøre. Hvad vil du
> sige med det?
>
> Med "alle" mente jeg både linux og windows. Det ville nok fremgå
> tydeligere, hvis jeg byttede om på rækkefølgen:
> "...når alle de computere jeg bruger har en FRI compiler i forvejen, og de
> fleste i øvrigt kører linux"

Det var hvad den oprindelige skribent gerne ville have.


--
Thorbjørn Ravn Andersen "...plus... Tubular Bells!"
http://bigfoot.com/~thunderbear

Niels Andersen (22-08-2001)
Kommentar
Fra : Niels Andersen


Dato : 22-08-01 21:04

"Thorbjørn Ravn Andersen" <thunderbear@bigfoot.com> wrote in message
news:9m1223$cc0$1@tux.netsite.dk...
> > > En Linux-eksekverbar fil, kører generelt ikke særlig godt under DOS.

> > Nej, faktisk skulle det faktisk aldrig kunne lade sig gøre. Hvad vil du
> > sige med det?

> Det var hvad den oprindelige skribent gerne ville have.

"Den oprindelige skribent"? Hvis du mener ham, der startede denne tråd, så
er det mig.
Og jeg kan ikke se nogen mening i at kompilere noget i linux, og så prøve at
køre det i windows.

--
Mvh.

Niels Andersen



Thorbjørn Ravn Ander~ (22-08-2001)
Kommentar
Fra : Thorbjørn Ravn Ander~


Dato : 22-08-01 21:38

Niels Andersen wrote:


> "Den oprindelige skribent"? Hvis du mener ham, der startede denne tråd, så
> er det mig.
> Og jeg kan ikke se nogen mening i at kompilere noget i linux, og så prøve
> at køre det i windows.

Undskyld. Jeg blander to tråde sammen.

--
Thorbjørn Ravn Andersen "...plus... Tubular Bells!"
http://bigfoot.com/~thunderbear

Niels Andersen (22-08-2001)
Kommentar
Fra : Niels Andersen


Dato : 22-08-01 07:12

"Mogens Hansen" <mogens_h@dk-online.dk> wrote in message
news:9luiq2$uc4$1@news.cybercity.dk...
> > I et kursus anbefaler man at bruge Borland C++ som compiler. I "min
> > verden" findes der kun én c++-compiler: "gcc".
> Er det ikke lidt snæversynet ?

Jo. :)

Men den er den compiler, som alligevel ligger på alle de maskiner jeg
bruger.
Webhotel, hjemmeserver, hjemmeworkstation, og alle computere på arbejde
(dvs. min workstation, og de servere jeg bruger). Og så vil jeg da gerne
bruge den. :)

> Hvis det er C++, så vil jeg primært anbefale at du benytter en moderne C++
> compiler.
> Det er mindre væsentligt hvilken, blot den er stabil og virker på din
> platform.

Min platform er såmen bare den platform der tilfældigvis er på den computer,
hvor jeg skal bruge programmet. :)

> Du kan iøvrigt hente Borland C++ V5.5 kommando linie compileren til
> MS-Windows gratis på www.borland.com.

Yep, det er den de anbefaler på kurset. Men når nu jeg har gcc i forvejen,
på ALLE mine computere? Windows og linux... :)

> Jeg oplever både Borland C++ V5.5 og gcc V2.96 som rimeligt gode
> implementeringer af C++ standarden.

Det lyder godt. :)

Jeg takker for rådene, og dem fra jer andre. :)

--
Mvh.

Niels Andersen



Mogens Hansen (25-08-2001)
Kommentar
Fra : Mogens Hansen


Dato : 25-08-01 11:35


"Niels Andersen" <niels-usenet@myplace.dk> wrote in message
news:H2Ig7.9562$3q.299386@news010.worldonline.dk...
> "Mogens Hansen" <mogens_h@dk-online.dk> wrote in message
> news:9luiq2$uc4$1@news.cybercity.dk...

> > Jeg oplever både Borland C++ V5.5 og gcc V2.96 som rimeligt gode
> > implementeringer af C++ standarden.
>
> Det lyder godt. :)
>

Eet tal for hvor compliant forskellige compilere er, kan findes fra source
koden til bogen "Accelerated C++" (http://www.acceleratedcpp.com/). Koden er
skrevet for at være lige ud af landevejen, hverdags moderne C++.
På MS-Windows platformen er Microsoft Visual C++ V6.0SP4, gcc V2.95.2 og
Borland C++ V5.5 understøttet.

Ved at kigge på hvormange betingede compileringer (ifdef), svarende til fejl
i compilerne, findes
Microsoft Visual C++ V6.0SP4: 101 undtagelser
gcc V2.95.2: 13 undtagelser
Borland C++ V5.5: 1 undtagelse

Det er naturligvis bedst af have færrest undtagelser, hvis man ønsker en
compiler der er mest muligt compliant.

En anden sammenligning af compilere og C++ Standard Library kan findes på
http://www.cuj.com/roundup/index.htm
den giver nogle lidt andre tal.


Venlig hilsen

Mogens Hansen



Byrial Jensen (23-08-2001)
Kommentar
Fra : Byrial Jensen


Dato : 23-08-01 18:57

Mogens Hansen <mogens_h@dk-online.dk> skrev:
> Jeg oplever både Borland C++ V5.5 og gcc V2.96 som rimeligt gode
> implementeringer af C++ standarden.

Hvad mener du om gcc 3.0?

Så vidt jeg har forstået, er der en del ældre/ikke-standard C++-kode
som den ikke kan oversætte, men som gcc 2.95.3 kunne oversætte. Er
det rigtigt at problemerne udelukkende skyldes ukorrekt kode?

Mogens Hansen (23-08-2001)
Kommentar
Fra : Mogens Hansen


Dato : 23-08-01 20:33


"Byrial Jensen" <bjensen@nospam.dk> wrote in message
news:slrn9oagol.uu.bjensen@ask.ask...
> Mogens Hansen <mogens_h@dk-online.dk> skrev:
> > Jeg oplever både Borland C++ V5.5 og gcc V2.96 som rimeligt gode
> > implementeringer af C++ standarden.
>
> Hvad mener du om gcc 3.0?
>

Jeg har ikke prøvet den. Jeg bruger egentlig kun gcc som en ekstra test og
min kodes porterbarhed.
Jeg har læst er den har problemer med kodegenereringen i forbindelse med det
som jeg helst ville bruge den til.

> Så vidt jeg har forstået, er der en del ældre/ikke-standard C++-kode
> som den ikke kan oversætte, men som gcc 2.95.3 kunne oversætte. Er
> det rigtigt at problemerne udelukkende skyldes ukorrekt kode?

Jeg ved det ikke.

Men det er ikke unormalt at der er noget kode, der bliver ulovligt når man
skifter fra en ældre compiler til en nyere, der er mere compliant.
Nogle af de typiske problemer som jeg har oplevet er brugen af namespace og
scope i "for" sætninger, men også template specialisering.

Måske andre kan hjælpe bedre.

Venlig hilsen

Mogens Hansen



Johnny Ronnenberg (08-10-2001)
Kommentar
Fra : Johnny Ronnenberg


Dato : 08-10-01 21:53

> Men det er ikke unormalt at der er noget kode, der bliver ulovligt når man
> skifter fra en ældre compiler til en nyere, der er mere compliant.
> Nogle af de typiske problemer som jeg har oplevet er brugen af namespace
og
> scope i "for" sætninger, men også template specialisering.

Jeg har med interesse fulgt denne diskussion, i det jeg har et problem. Jeg
har lyst til at lege med lidt spil programmering, Jeg har downloaded en
simpel spil-engine, "Smiley", fra Programmers Heaven. Den kompilerer
perfekt i Borland C++ 4.0 og i 5,0 men i Borland Cbuilder 1.0 kan den ikke
kompileres overhovedet. Det er ud fra fejlene klart, at noget er er
programmeret i C og noget i C++, men når man forsøger at rette fejlene til
C++, er det ikke muligt, at finde et niveau der tillader en fuld
kompilering.

Mit spørgsmål er nu er det ikke muligt at konvertere et C / C++ projekt til
CBuilder?

Mit næste spørgsmål er, kan det være rigtig, at man ikke kan skrive C++
kode, der vil kompilere i alle kompilere, eller har jeg misforstået noget?

Med venlig hilsen
Johnny Winther Ronnenberg

Jeg har ikke skrællet kartofler, men jeg spørger stadig dumt.




Mogens Hansen (09-10-2001)
Kommentar
Fra : Mogens Hansen


Dato : 09-10-01 05:43

Hej Johnny,
"Johnny Ronnenberg" <johnny.winther@tdcadsl.dk> wrote in message
news:3bc21337$0$42118$edfadb0f@dspool01.news.tele.dk...
> > Men det er ikke unormalt at der er noget kode, der bliver ulovligt når
man
> > skifter fra en ældre compiler til en nyere, der er mere compliant.
> > Nogle af de typiske problemer som jeg har oplevet er brugen af namespace
> og
> > scope i "for" sætninger, men også template specialisering.
>
> Jeg har med interesse fulgt denne diskussion, i det jeg har et problem.
Jeg
> har lyst til at lege med lidt spil programmering, Jeg har downloaded en
> simpel spil-engine, "Smiley", fra Programmers Heaven. Den kompilerer
> perfekt i Borland C++ 4.0 og i 5,0 men i Borland Cbuilder 1.0 kan den ikke
> kompileres overhovedet. Det er ud fra fejlene klart, at noget er er
> programmeret i C og noget i C++, men når man forsøger at rette fejlene til
> C++, er det ikke muligt, at finde et niveau der tillader en fuld
> kompilering.
>

Kan du være lidt mere specifik om hvilken type problemer du oplever.

Er du klar over hvordan man får C og C++ kode til at arbejde sammen i samme
projekt ?

Det burde være relativt nemt at opgradere fra Borland C++ V5.0 til Borland
C++Builder V1.0, idet de stort set bruger samme compiler internt -
sprogimplementering er ens. Borland C++V5.02 og Borland C++Builder V1.0
bruger eksakt samme compiler internt.

Iøvrigt vil jeg anbefale at du opgraderer compileren, idet Borland
C++Builder V5.0 er med standard compliant end C++Builder V1.0

> Mit spørgsmål er nu er det ikke muligt at konvertere et C / C++ projekt
til
> CBuilder?

Jo, det burde være muligt.

>
> Mit næste spørgsmål er, kan det være rigtig, at man ikke kan skrive C++
> kode, der vil kompilere i alle kompilere, eller har jeg misforstået noget?

Jo, det er muligt - også i praksis.
Det kræver naturligvis at de C++ kompilere man anvender har samme opfattelse
af hvad C++ er og hvordan det ser ud. Det betyder i praksis at de skal
implementere ISO C++ standarden i væsentlig grad. Specielt skal de dele som
man bruger være implementeret.
Det kræver typisk at man bruger compilere som er mindre end 2 år gamle, og
at de kommer fra leverandører som tager det alvorligt at implementere ISO
C++ standarden.

Venlig hilsen

Mogens Hansen



Johnny Ronnenberg (09-10-2001)
Kommentar
Fra : Johnny Ronnenberg


Dato : 09-10-01 17:02


> Kan du være lidt mere specifik om hvilken type problemer du oplever.
>
> Er du klar over hvordan man får C og C++ kode til at arbejde sammen i
samme
> projekt ?
>

Jeg fik flere hundrede errors og warnings, med udgangspunkt i dem kom jeg
frem til at dele af koden var fejldefineret og ikke udelukkende bestod af
C++. Ved at studere koden nærmere, lykkedes det mig gennem eksperimenter, at
indpakke de forskellige funktioner med standard definitioner for henholdsvis
C og C++, i nogle tilfælde måtte jeg pakke hele funktionen ind og i andre
kunne jeg nøjes med at pakke enkelte linier ind..

Derpå udkommenoterede jeg al "død" kode og endelig ingen errors eller
warnings istedet fik jeg en linkage error der ikke var nævnt hverken i
hjælpen eller på Borlands supportsider. På det tidspunkt røg det hele i
papirkurven efter fire ugers arbejde. Når man på fire uger kun forsøger at
fejlfinde noget, uden at komme nogen vegne, så er det ikke sjovt mere.

Jeg faldt over de oprindelige filer ved et tilfælde forleden og prøvede dem
af i BC5 og har besluttet mig for at prøve engang til og istedet for at
indpakke koden i definitioner, så at ændre koden til ren C++ og se om det
ændrer på noget. Det burde løse problemet.

Og når jeg kører fast, så spørger jeg denne gang, istedet for at smide det i
papirkurven.

Med venlig hilsen
Johnny Winther Ronnenberg



Martin Moller Peders~ (23-08-2001)
Kommentar
Fra : Martin Moller Peders~


Dato : 23-08-01 21:31

In <slrn9oagol.uu.bjensen@ask.ask> Byrial Jensen <bjensen@nospam.dk> writes:

>Mogens Hansen <mogens_h@dk-online.dk> skrev:
>> Jeg oplever både Borland C++ V5.5 og gcc V2.96 som rimeligt gode
>> implementeringer af C++ standarden.

>Hvad mener du om gcc 3.0?

>Så vidt jeg har forstået, er der en del ældre/ikke-standard C++-kode
>som den ikke kan oversætte, men som gcc 2.95.3 kunne oversætte. Er
>det rigtigt at problemerne udelukkende skyldes ukorrekt kode?


Er det ikke blevet rettet idag med releasen af gcc 3.0.1 ?

/Martin

Per Abrahamsen (27-08-2001)
Kommentar
Fra : Per Abrahamsen


Dato : 27-08-01 21:00

Byrial Jensen <bjensen@nospam.dk> writes:

> Hvad mener du om gcc 3.0?

Jeg fandt en ting jeg _tror_ er en fejl i compileren, se

<URL: http://gcc.gnu.org/cgi-bin/gnatsweb.pl>

Fejl #3331

Der var en masse steder mit program måtte ændres for det nye standard
overholdene C++ library, de fleste af dem havde jeg allerede skrevet
kode til for Visual C++.

Der var ingen kodegenereringsfejl.

To af mine filer tog hver 6 timer at oversætte med -O2, mod under 5
minutter før. Resten tog vel en 2 til 3 gange så længe at oversætte.
Så jeg skiftede tilbage til 2.95.

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste