IDE för C/C++ i Xubuntu eller motsvarade + lite Linux.n00b frågor [LÖST]

Här diskuteras programmering och utveckling
Användarvisningsbild
per9000
Inlägg: 931
Blev medlem: 07 maj 2007, 11:06
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster
Ort: Västerås
Kontakt:

IDE för C/C++ i Xubuntu eller motsvarade + lite Linux.n00b frågor [LÖST]

Inlägg av per9000 »

Hej Ubuntu.Sverige.Forum.Programmering!

Jag räddade just min fem (?) år gamla Compaq Presario och installerade den senaste (?) Xubuntu. Jag har bara haft ganska ytlig bekantskap med GNU+Linux tidigare, men är en fantast av GNU+Cygwin och filosofin bakom GNU.

Jag lyckades till slut installera Xubuntu och allt "bara funkade". Jag köpte lite mera RAM så processorn är inte på 100% hela tiden längre. Det gick fint att göra "Hello World" både i Python, och C# (tack vare MonoDevelop och/eller kommandoraden). Men när jag skulle sparka igång och köra något vettigt i C tog det stopp.

Jag försökte bygga med något i stil med "gcc hello_world.c" men gcc sade i princip att han inte hittade stdio.h. Har jag bara bommat ett argument eller saknar jag något paket (jag fattar det som att en helt del är borttaget från Xubuntu jämför med Ubuntu)? 

Jag testade då att installera KDevelop (eller vad det nu hette) men det spottade ur sig en massa felmeddelanden och jag hittade inte Tools--> Compile (motsv).

All installation av mjukvara gick för övrigt via Synaptic.

Så jag har lite frågor utifrån dessa erfarenheter:
1 - Vad behövs för att göra gcc lycklig från kommandoraden?
2 - Hur kompatibla är grejer byggda i/på/för Xfce, Gnome, KDE med varandra?
  2.1 Spelar det någon roll eller är det bara kosmetika?
  2.2 Jag kollade till exempel på NetHack och det verkar komma i olika versioner, en för Gnome och en annan för KDE eller (och så en för konsolen såklart :)), varför? Eller misstolkar jag Synaptic?
3 - Finns det en vettig IDE for C (och kanske C++) för Xubuntu som "bara fungerar" (Sorry, men varken Vi, Vim eller Emacs is a option - fast jag kodar gärna i Nano om jag måste :) )? Den ska gärna interfacea med en kompilator på samma sätt som MonoDevelop, typ.

Och en annan fråga:
4 - Jag körde först Xubuntu med 128 MB RAM, men utökade till 256 MB. Är det värt 400 spänn till för att utöka till 512 eller 800 kr att utöka till 768 (som verkar vara max för hårdvaran)? Processorn ligger på 933 MHz tror jag. Det känns som att det räcker ganska långt om man bara vill ha Firefox + Thunderbird + En IDE + Några terminaler samtidigt.

Tack på förhand,
Per

--

Per Erik Strandberg
http://www.pererikstrandberg.se

  I must not fear.
  Fear is the mind-killer.
Senast redigerad av 1 DrMegahertz, redigerad totalt 8 gånger.
--
Per Erik Strandberg
Yet Another IT Consultant
Användarvisningsbild
per9000
Inlägg: 931
Blev medlem: 07 maj 2007, 11:06
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster
Ort: Västerås
Kontakt:

SV: IDE för C/C++ i Xubuntu eller motsvarade + lite Linux.n00b frågor

Inlägg av per9000 »

Är Anjuta vad jag behöver? Funkar det i Xfce?

http://en.wikipedia.org/wiki/Anjuta
http://anjuta.org/

t4(k
/Per
--
Per Erik Strandberg
Yet Another IT Consultant
Okänd
Inlägg: 30172
Blev medlem: 03 mar 2008, 01:30
OS: Ubuntu

SV: IDE för C/C++ i Xubuntu eller motsvarade + lite Linux.n00b frågor

Inlägg av Okänd »

Här är en lite guide för att kompilera program med gcc genom terminalen:
http://ubuntu-se.org/smf/index.php/topic,2830.0.html

Det finns ett paket som heter build-essential där alla basic paket som behövs för kompilera C program finns, det kan vara att du inte har detta paket som gjorde att KDEvelope inte funkade som det skulle.

edit: om du installerar build-essential så kommer den att hitta stdio.h också
Användarvisningsbild
Smygis
Inlägg: 849
Blev medlem: 21 jun 2006, 18:41
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Kramfors

SV: IDE för C/C++ i Xubuntu eller motsvarade + lite Linux.n00b frågor

Inlägg av Smygis »

per9000 skrev: Är Anjuta vad jag behöver? Funkar det i Xfce?

http://en.wikipedia.org/wiki/Anjuta
http://anjuta.org/

t4(k
/Per
Du behöver paketet build-essential och sedan kan du antingen köra "hardcore" med tex vim/annan texteditor och gcc i en terminal.
Eller så kör du med Anjuta eller Geany. Personligen gillar jag Geany lite mer än Anjuta.
A Foolish Consistency is the Hobgoblin of Little Minds.Beware: In C++, your friends can see your privates!
Användarvisningsbild
per9000
Inlägg: 931
Blev medlem: 07 maj 2007, 11:06
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster
Ort: Västerås
Kontakt:

SV: IDE för C/C++ i Xubuntu eller motsvarade + lite Linux.n00b frågor

Inlägg av per9000 »

gasol skrev: [...]
edit: om du installerar build-essential så kommer den att hitta stdio.h också
[...]
OK, är det så att jag slipper dessa problem om jag kör Ubuntu istället för Xubuntu (så går kanske allt lika snabbt ändå om jag bara kan installerar Xfce'et efteråt)?

/Per
--
Per Erik Strandberg
Yet Another IT Consultant
Användarvisningsbild
Smygis
Inlägg: 849
Blev medlem: 21 jun 2006, 18:41
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Kramfors

SV: IDE för C/C++ i Xubuntu eller motsvarade + lite Linux.n00b frågor

Inlägg av Smygis »

Nej absolut inte. Det ingår inte i någon ubuntu smak.
Dom är bort plockade ur standard installationen pga anledningar.
A Foolish Consistency is the Hobgoblin of Little Minds.Beware: In C++, your friends can see your privates!
Okänd
Inlägg: 30172
Blev medlem: 03 mar 2008, 01:30
OS: Ubuntu

SV: IDE för C/C++ i Xubuntu eller motsvarade + lite Linux.n00b frågor

Inlägg av Okänd »

Smygis skrev: Nej absolut inte. Det ingår inte i någon ubuntu smak.
Dom är bort plockade ur standard installationen pga anledningar.
outgrundliga anledningar...
Användarvisningsbild
Smygis
Inlägg: 849
Blev medlem: 21 jun 2006, 18:41
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Kramfors

SV: IDE för C/C++ i Xubuntu eller motsvarade + lite Linux.n00b frågor

Inlägg av Smygis »

gasol skrev:
Smygis skrev: Nej absolut inte. Det ingår inte i någon ubuntu smak.
Dom är bort plockade ur standard installationen pga anledningar.
outgrundliga anledningar...
Flera miljoner byte anledningar.
det finns bara så mycket utrymme på en cd-rom. Onödigt att fylla ut den med något så vitalt som kompilatorer and shit.
Värt att notera är dock att många aldrig använder dom.
Så om valet stod mellan Xorg och GCC så kan jag förstå varför dom valde Xorg.

:)
A Foolish Consistency is the Hobgoblin of Little Minds.Beware: In C++, your friends can see your privates!
Användarvisningsbild
per9000
Inlägg: 931
Blev medlem: 07 maj 2007, 11:06
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster
Ort: Västerås
Kontakt:

SV: IDE för C/C++ i Xubuntu eller motsvarade + lite Linux.n00b frågor

Inlägg av per9000 »

Smygis skrev:
gasol skrev:
Smygis skrev: Nej absolut inte. Det ingår inte i någon ubuntu smak.
Dom är bort plockade ur standard installationen pga anledningar.
outgrundliga anledningar...
Flera miljoner byte anledningar.
det finns bara så mycket utrymme på en cd-rom. Onödigt att fylla ut den med något så vitalt som kompilatorer and shit.
Värt att notera är dock att många aldrig använder dom.
Så om valet stod mellan Xorg och GCC så kan jag förstå varför dom valde Xorg.

:)
Det heter ju "Linux för människor" (med reservation för att jag översätter fel) och inte "Linux för kodapor", så jag kan förstå att det rationaliserats bort.

Nu funkar gcc i alla fall- ph34a my 133t sk111z:

>> cat hello_world.c
#include <stdio.h>

int main(int argc, char *argv[])
{
  int i = 0;
  for (i = 0; i < argc; i++)
  {
    printf("C  >> #%d='%s'\n", i, argv);
  }
  return 0;
}

>> gcc hello_world.c

>> ./a.out
C  >> #0='./a.out'

>> ./a.out foo bar baz
C  >> #0='./a.out'
C  >> #1='foo'
C  >> #2='bar'
C  >> #3='baz'


Tack för ett bra forum f.ö., det kommer jag besöka ofta.

MVH,
Per

PS: denna tråd kanske kan sättas till fixat nu - men det vet jag inte hur man gör :D
--
Per Erik Strandberg
Yet Another IT Consultant
Användarvisningsbild
Smygis
Inlägg: 849
Blev medlem: 21 jun 2006, 18:41
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Kramfors

SV: IDE för C/C++ i Xubuntu eller motsvarade + lite Linux.n00b frågor

Inlägg av Smygis »

Du redigerar första inlägget ;)

Och blir det inte snyggare om du kör

Kod: Markera allt

#include <stdio.h>

int main(int argc, char *argv[])
{
  for (int i = 0; i < argc; i++)
     printf("C  >> #%d='%s'\n", i, argv);
  return 0;
}
A Foolish Consistency is the Hobgoblin of Little Minds.Beware: In C++, your friends can see your privates!
Användarvisningsbild
per9000
Inlägg: 931
Blev medlem: 07 maj 2007, 11:06
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster
Ort: Västerås
Kontakt:

SV: IDE för C/C++ i Xubuntu eller motsvarade + lite Linux.n00b frågor

Inlägg av per9000 »

Smygis skrev: Du redigerar första inlägget ;)
Jag letade "överallt" - hur gör man det?
Smygis skrev: Och blir det inte snyggare om du kör

Kod: Markera allt

#include <stdio.h>

int main(int argc, char *argv[])
{
  for (int i = 0; i < argc; i++)
     printf("C  >> #%d='%s'\n", i, argv);
  return 0;
}
Ok, kör du C99? Annars får man nog inte deklarera en variabel i en "for-snurra". Dessutom tror jag du menar argv?

Ciao,
Per
--
Per Erik Strandberg
Yet Another IT Consultant
Användarvisningsbild
Smygis
Inlägg: 849
Blev medlem: 21 jun 2006, 18:41
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Kramfors

SV: IDE för C/C++ i Xubuntu eller motsvarade + lite Linux.n00b frågor

Inlägg av Smygis »

Du ändrar topic till [Löst] + original namnet sedan byter du ikonen till en såndär grön grej, Hur man gör det vet jag dock inte ;=

Jag kör inte C alls :D
Och du är nog helt ute och cyklar. Senast jag satt och pillade med C tutade jag på med borland 3.något (Till ms-dos). Och då gick det bara finfint att deklarera variabler i for loopen. Det är ju liksom det som är poängen med den.
A Foolish Consistency is the Hobgoblin of Little Minds.Beware: In C++, your friends can see your privates!
Okänd
Inlägg: 30172
Blev medlem: 03 mar 2008, 01:30
OS: Ubuntu

SV: IDE för C/C++ i Xubuntu eller motsvarade + lite Linux.n00b frågor

Inlägg av Okänd »

Smygis skrev:
gasol skrev:
Smygis skrev: Nej absolut inte. Det ingår inte i någon ubuntu smak.
Dom är bort plockade ur standard installationen pga anledningar.
outgrundliga anledningar...
Flera miljoner byte anledningar.
det finns bara så mycket utrymme på en cd-rom. Onödigt att fylla ut den med något så vitalt som kompilatorer and shit.
Värt att notera är dock att många aldrig använder dom.
Så om valet stod mellan Xorg och GCC så kan jag förstå varför dom valde Xorg.

:)
gcc tar upp 65.5 kb


och det borde nog vara för att programmet ska skriva ut argumenten

Kod: Markera allt

 
#include <stdio.h>

int main(int argc, char *argv[])
{
  for (int i = 0; i < argc; i++)
     printf("C  >> #%d='%s'\n", i, argv[i]);
  return 0;
}

Senast redigerad av 1 gasol, redigerad totalt 7 gånger.
Användarvisningsbild
per9000
Inlägg: 931
Blev medlem: 07 maj 2007, 11:06
OS: Ubuntu
Utgåva: 23.04 Lunar Lobster
Ort: Västerås
Kontakt:

SV: IDE för C/C++ i Xubuntu eller motsvarade + lite Linux.n00b frågor

Inlägg av per9000 »

Smygis skrev: Du ändrar topic till [Löst] + original namnet sedan byter du ikonen till en såndär grön grej, Hur man gör det vet jag dock inte ;=

Jag kör inte C alls :D
Och du är nog helt ute och cyklar. Senast jag satt och pillade med C tutade jag på med borland 3.något (Till ms-dos). Och då gick det bara finfint att deklarera variabler i for loopen. Det är ju liksom det som är poängen med den.
Jag tror jag lyckades ändra ikonen, men inte ämnes-rubriken.

Det är möjligt att det är olika med olika kompilatorer, men enligt standarden (om man nu ska vara en paragraf-ryttare) så måste man i gammal hederlig C först deklarera alla variabler innan man jobbar med dem. I både C99, C++ och C# slipper man det. Det är kanske en anledning till att många skyr C som pesten :-)

Det verkar som att GCC följer den gamla standarden ganska bra som default - jag fick något slags felmeddelande när jag deklarerade variabeln i for-texten.

Referens: http://en.wikipedia.org/wiki/C99
"C99 introduced several new features [...] Variables can be declared anywhere (as in C++), rather than only after another declaration or the start of a compound statement. [...]".

/Per

PS: Kompilatorer är kända för att inte följa standarder eller hitta på egna (med undantag för GCC + C89 tror jag) och jag tror att det ännu inte finns någon kompilator som följer C99 till punkt och pricka (om jag tolkar mina studier av comp.lang.c korrekt). Om jag är tveksam brukar jag testa med både Microsofts CL som är gratis och GNU's fria GCC.
--
Per Erik Strandberg
Yet Another IT Consultant
Okänd
Inlägg: 30172
Blev medlem: 03 mar 2008, 01:30
OS: Ubuntu

SV: IDE för C/C++ i Xubuntu eller motsvarade + lite Linux.n00b frågor

Inlägg av Okänd »

per9000 skrev:
Smygis skrev: Du ändrar topic till [Löst] + original namnet sedan byter du ikonen till en såndär grön grej, Hur man gör det vet jag dock inte ;=

Jag kör inte C alls :D
Och du är nog helt ute och cyklar. Senast jag satt och pillade med C tutade jag på med borland 3.något (Till ms-dos). Och då gick det bara finfint att deklarera variabler i for loopen. Det är ju liksom det som är poängen med den.
Jag tror jag lyckades ändra ikonen, men inte ämnes-rubriken.

Det är möjligt att det är olika med olika kompilatorer, men enligt standarden (om man nu ska vara en paragraf-ryttare) så måste man i gammal hederlig C först deklarera alla variabler innan man jobbar med dem. I både C99, C++ och C# slipper man det. Det är kanske en anledning till att många skyr C som pesten :-)

Det verkar som att GCC följer den gamla standarden ganska bra som default - jag fick något slags felmeddelande när jag deklarerade variabeln i for-texten.

Referens: http://en.wikipedia.org/wiki/C99
"C99 introduced several new features [...] Variables can be declared anywhere (as in C++), rather than only after another declaration or the start of a compound statement. [...]".

/Per

PS: Kompilatorer är kända för att inte följa standarder eller hitta på egna (med undantag för GCC + C89 tror jag) och jag tror att det ännu inte finns någon kompilator som följer C99 till punkt och pricka (om jag tolkar mina studier av comp.lang.c korrekt). Om jag är tveksam brukar jag testa med både Microsofts CL som är gratis och GNU's fria GCC.

Jo gcc är rätt så frimodig med nya funktioner här är en lista på godis som inte finns i C men som gcc stödjer
http://gcc.gnu.org/onlinedocs/gcc/C-Ext ... Extensions om du inte anger någon standard till gcc så kommer programmet att kompileras med gnu89 standardaden vilket innehåller stöd för C90 samt vissa funktioner från C99. Men fördelen med att gcc som är nästan universialt tillgänglig på alla plattformer är ju just att den kan göra extra funktioner eftersom det alltid går att kompilera koden med gcc.


Men om du vill köra old school C kod c89 så kör med flaggorna -ansi  och -pedantic
Skriv svar

Återgå till "Programmering och webbdesign"