Rekomendera C++ compiler

Här diskuteras programmering och utveckling
Användarvisningsbild
andy
Inlägg: 102
Blev medlem: 04 mar 2010, 11:03
OS: Xubuntu
Utgåva: 14.04 Trusty Tahr LTS

Re: Rekomendera C++ compiler

Inlägg av andy »

kopierade texten från forumet:
#include <iostream>
using namespace std;
int main(){
cout << "hello" << endl;
return 0;
}

klistrade in i abi word word processor
sparade som hello.C
öppnade terminalen
skrev:
g++ hello.C -o hell
svaret jag får är:
hello.C:23: fel: överblivet "#" i program
hello.C:1: fel: expected unqualified-id before "<" token
hello.C:23: fel: expected constructor, destructor, or type conversion before "&" token
hello.C:23: fel: expected unqualified-id before "<" token
hello.C:24: fel: expected unqualified-id before "<" token
hello.C:28: fel: expected unqualified-id before "<" token
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Rekomendera C++ compiler

Inlägg av Konservburk »

Du har nog drabbats av den mystiska kopieringsbuggen. Jag har inte kommit fram till varför vissa råkar ut för den, men inte andra. Hur som helst så händer det ibland att det som kopieras från forumet får 4 mellanrum i början av varje rad. Blev det så för dig så kommer inte koden att fungera. Du måste plocka bort mellanrummen först.
Användarvisningsbild
cthulhu
Inlägg: 789
Blev medlem: 05 jan 2009, 14:11
OS: Debian

Re: Rekomendera C++ compiler

Inlägg av cthulhu »

Men mellanrum skall väl inte spela någon roll?
Och varför inte använda gedit istället? Då får du syntax-färgning av texten.
I alla fall om du byter namn till litet "c", dvs helloworld.c

vet inte men använder du g++ kanske man skall kalla filen för *.cpp.
och använda gcc för vanlig "C"-programmering, ("fil.c")
Användarvisningsbild
Konservburk
Inlägg: 5919
Blev medlem: 07 apr 2007, 22:28

Re: Rekomendera C++ compiler

Inlägg av Konservburk »

cthulhu skrev:Men mellanrum skall väl inte spela någon roll?
Det kan man tycka. Det enda jag vet är att folk då och då inte får kod som de kopierat från forumet att fungera. När vi kommer fram till vad felet är brukar de beskriva det som att det finns konstiga mellanrum i början av varje rad. Jag har aldrig sett det själv och har ingen aning om ifall det är vanliga mellanrum eller något annat som bara ser ut som mellanrum.
Användarvisningsbild
andy
Inlägg: 102
Blev medlem: 04 mar 2010, 11:03
OS: Xubuntu
Utgåva: 14.04 Trusty Tahr LTS

Re: Rekomendera C++ compiler

Inlägg av andy »

nu har jag testat att skriva koden själv, använda .cpp
skriva g++ helloworld -o hell.exe
sedan ./hell.exe
får samma svar som tidigare.
börjar undra om -0 är ett o som i "class olson"
m!rage
Inlägg: 2550
Blev medlem: 28 apr 2009, 21:47
OS: Arch Linux
Ort: Lund

Re: Rekomendera C++ compiler

Inlägg av m!rage »

-o är bokstaven o och inte siffran noll. Så det beror på något annat.
Rad 23 finns väl inte? Så hur kan det finnas fel där? Nåt inkluderat som strular? Du har kanske inte libc6 installerat?

EDIT: Hallå du menar väl inte att du använde -0 (noll) vid kompileringen? Isf har felet där
Användarvisningsbild
andy
Inlägg: 102
Blev medlem: 04 mar 2010, 11:03
OS: Xubuntu
Utgåva: 14.04 Trusty Tahr LTS

Re: Rekomendera C++ compiler

Inlägg av andy »

använde inte nolla,
gjorde samma procedur med gedit,
istället för abiword,
och det funkar utmärkt.

tänkte bara fråga om någon vet hur man i c++
skapar en fil som jag kan köra,
utan att gå in på terminal och skriva filens namn.
en fil som man klickar och programet körs
Användarvisningsbild
cthulhu
Inlägg: 789
Blev medlem: 05 jan 2009, 14:11
OS: Debian

Re: Rekomendera C++ compiler

Inlägg av cthulhu »

tja, det där är nog inte en "c++" fråga.
Gör du den körbar med chmod, och inte läs/skrivbar, så har väl inte nautilus något annat val än att köra den när du klickar på den binära filen. eller?

Kod: Markera allt

chmod a=x hell.exe 
lägg den i /usr/bin eller /usr/local/bin för att få den "tillgänglig" från alla kataloger utan att behöva köra "./fil"
m!rage
Inlägg: 2550
Blev medlem: 28 apr 2009, 21:47
OS: Arch Linux
Ort: Lund

Re: Rekomendera C++ compiler

Inlägg av m!rage »

Kommer inte fungera eftersom det är ett kommandoradsprogram, så det måste alltså köras från kommandoraden. Alternativt kanske du kan starta det mha Alt+F2 och skriva

Kod: Markera allt

gnome-terminal sokvag/program
Sitter i XP nu så kan inte testa själv
Användarvisningsbild
mcNisse
Inlägg: 5211
Blev medlem: 06 feb 2007, 20:51
OS: Debian
Utgåva: Vet inte/ingen utgåva passar

Re: Rekomendera C++ compiler

Inlägg av mcNisse »

Låt bli att skräpa ner i std namnrymden.

Här är vad man kan skriva istället.

Kod: Markera allt

using std::cout;
using std::endl;
Edit: Jag har fel. Det är inte std som skräpas ner. Utan default namnrymden. (Den utan namnespace)
Senast redigerad av 1 mcNisse, redigerad totalt 23 gånger.
Användarvisningsbild
Pinky
Inlägg: 1258
Blev medlem: 30 jan 2007, 15:59
OS: Fedora
Ort: Kristianstad/Sverige
Kontakt:

Re: Rekomendera C++ compiler

Inlägg av Pinky »

Utanför ämnet: Flyttar denna tråd till en mer lämplig tavla. ;)

Mvh
Martin
m!rage
Inlägg: 2550
Blev medlem: 28 apr 2009, 21:47
OS: Arch Linux
Ort: Lund

Re: Rekomendera C++ compiler

Inlägg av m!rage »

mcNisse skrev:Låt bli att skräpa ner i std namnrymden.
...
Varför inte använda using namespace std?
Användarvisningsbild
mcNisse
Inlägg: 5211
Blev medlem: 06 feb 2007, 20:51
OS: Debian
Utgåva: Vet inte/ingen utgåva passar

Re: Rekomendera C++ compiler

Inlägg av mcNisse »

Därför att du tar in mer symboler än vad du behöver.

Ta detta exempel:

Kod: Markera allt

using <sstream>
using namespace std;

// someoneElses.cpp/h
#include "myHeader.h"

class stringstream {  // uh oh
};
Det är ju ett ganska enkelt exempel. Poängen är egentligen att du inte vill skräpa ner ditt namespace med allt från std (inte som jag skrev i förra posten skräpa ner std). Det är ganska enkelt att deklarera en variabel/class som kolliderar med något i namnrymden som du importerar. Dessutom tycker jag att koden blir svårare att läsa när man importerar. Det är mycket tydligare när man ser varifrån symborerna tas.

I värsta fall om du importerar två namnrymder så kan symboler kollidera.
Användarvisningsbild
Substrata
Inlägg: 71
Blev medlem: 13 apr 2010, 11:01
OS: Arch Linux
Utgåva: Vet inte/ingen utgåva passar

Re: Rekomendera C++ compiler

Inlägg av Substrata »

Det viktigaste är att inte exportera dessa symboler (genom headerfiler). Använder du 'include std' i en cpp-fil så är det dock ett lokalt direktiv.
Skriv svar

Återgå till "Programmering och webbdesign"