Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: seniori - 22.01.08 - klo:20.28

Otsikko: c-ohjelman ajaminen (ratkaistu)
Kirjoitti: seniori - 22.01.08 - klo:20.28
Opettelen c-ohjelmointia (tai c++ ,mikähän ero niilläkin on?).
Kun tein pienen ohjelman ja käänsin sen päätteessä komennolla
g++ ohjelma.cpp -o ohjelma.aja
sain kansioon tiedoston ohjelma.aja , jonka voin sitten ajaa
päätteessä komennolla ./ohjelma.aja. Tämä toimi, mutta
miten voin ajaa ohjelman suoraan nautiluksesta vaikkapa
tuplaklikkaamalla?
Otsikko: Vs: c-ohjelman ajaminen
Kirjoitti: peran - 22.01.08 - klo:20.55
Jos suoraan ei toimi, niin voit tehdä linkin ko. ohjelmalle. Tarkoitan siis hiiren oikealla näppäimellä luotua linkkiä, enkä ln-komennolla luotua.
Otsikko: Vs: c-ohjelman ajaminen
Kirjoitti: seniori - 22.01.08 - klo:21.05
 En tainnut ymmärtää oikein, mutta kokeilin sitä linkkiä (nautiluksessa:tee linkki), ei auttanut.
Tai sitten en tehnyt sitä  oikein.
Otsikko: Vs: c-ohjelman ajaminen
Kirjoitti: peran - 22.01.08 - klo:21.20
Mulla kyllä GDI-ohjelmat toimivat suoraan tuplaklikkaamalla.

Onkos ohjelmasi konsoli ohjelma. Jos ohjelma ei on todella lyhyt voinet tulostaa sorsat tänne.

Tosin nimeämisessä en käytä ollenkaan extensiota, vaan kääntäisin ohjelmasi seuraavaksi.

g++ ohjelma.cpp -o ohjelma

Edit - siis tarkoitin tosiaan tota nautiluksessa tee-linkki, mutta kun se ei toimi, niin yritetään muuta.
Otsikko: Vs: c-ohjelman ajaminen
Kirjoitti: seniori - 23.01.08 - klo:20.32
Mitä tarkoittaa GDI-ohjelma tai konsoli-ohjelma?
Tein ohjelmapätkän(sellainen hello-juttu) ihan tekstieditorilla ja sain sen käännettyä ja ajettuakin
 mutta en nautiluksesta.
Otsikko: Vs: c-ohjelman ajaminen
Kirjoitti: seniori - 23.01.08 - klo:20.33
Ai niin, huomasin, että Sinulla on kubuntu, mulla on ubuntu 7.10.
Mahtaakohan vika olla siinä?
Otsikko: Vs: c-ohjelman ajaminen
Kirjoitti: Hexa_Desimaali - 23.01.08 - klo:22.33
Kyllä minulla ainakin itsetehdyt ohjelmat käynnistyy Nautiluksesta kaksoisnäpäyttämällä. Testaa vaikka seuraavalla ohjelmanpätkällä
Koodia: [Valitse]
int main () {

  sleep(5);

}
Ohjelma nuokkuu viisi sekuntia, joiden aikana voit Järjestelmän valvonnasta nähdä ohjelmasi sisältävän prosessin.

Konsoli- eli komentoriviohjelmaa käytetään komentoriviltä, GDI-ohjelma tarkoittanee ohjelmaa, jolla on graafinen käyttöliittymä.
Otsikko: Vs: c-ohjelman ajaminen
Kirjoitti: Tomin - 24.01.08 - klo:07.33
Laita sille suoritusoikeudet, vai laitoitko jo? Klikkaa sitä oikealla näppäimellä > Ominaisuudet > Oikeudet > Salli tiedoston suoritus ohjelmana kohtaan ruksi (tai siis semmoinen merkki) näin siis nautiluksessa.
Otsikko: Vs: c-ohjelman ajaminen
Kirjoitti: larpa - 24.01.08 - klo:08.38
Lainaus
Laita sille suoritusoikeudet, vai laitoitko jo? Klikkaa sitä oikealla näppäimellä > Ominaisuudet > Oikeudet > Salli tiedoston suoritus ohjelmana kohtaan ruksi (tai siis semmoinen merkki) näin siis nautiluksessa.
tai konsolissa:
Koodia: [Valitse]
chmod +x ohjelma
Otsikko: Vs: c-ohjelman ajaminen
Kirjoitti: Risto H. Kurppa - 24.01.08 - klo:08.48
Tuo oikeushomma kävi mielessä, mutta eipä se kait konsolissakaan pyörähtäisi käyntiin, jos oikeudet eivät olisi kohdallaan??

Voiko olla että se käynnistyy klikkaamalla, mutta päättyy niin nopeasti että mitään ei keretä näyttää?

r
Otsikko: Vs: c-ohjelman ajaminen
Kirjoitti: MikkoJP - 24.01.08 - klo:09.50
Pitäisikö Nautilukselle kertoa, että ohjelma ajetaan päätteessä? Jos kyseessä on vasta c-ohjelmointia aloittelevan ohjelma, eikä kysyjä erikseen maininnut, että ohjelmalla on graafinen käyttöliittymä, vaan antoi ymmärtää, että kyseessä on perinteinen "hello world"...

KDE:n puolella kuvakkeen Ominaisuudet -> Sovellus -> Lisäasetukset -> Käynnistä pääteikkunassa: rasti ruutuun

Tiedä sitten, miten tämä Gnome-maailmassa tehtäisiin.
Otsikko: Vs: c-ohjelman ajaminen
Kirjoitti: larpa - 24.01.08 - klo:14.23
Lainaus
Voiko olla että se käynnistyy klikkaamalla, mutta päättyy niin nopeasti että mitään ei keretä näyttää?
Menikös multa ohi jotain, vai oletko esitellyt lähdekoodia?
Kyse voi olla juuri siitäkin, että se vilahtaa nopeaa ohi.
Otsikko: Vs: c-ohjelman ajaminen
Kirjoitti: MikkoJP - 24.01.08 - klo:14.32
Lainaus
Voiko olla että se käynnistyy klikkaamalla, mutta päättyy niin nopeasti että mitään ei keretä näyttää?
Menikös multa ohi jotain, vai oletko esitellyt lähdekoodia?
Kyse voi olla juuri siitäkin, että se vilahtaa nopeaa ohi.

Luulen kyllä, että kyse on siitä, että ohjelma pitää ajaa päätteessä, ja se tulostaa hello worldin stdouttiin. Gnome taas ei tiedä, että ohjelmalle pitää avata pääte, jossa tulostus näkyy.

Kertokaa nyt joku, jolla on suomenkielinen Gnome käytössä, miten suomenkielisessä versiossa tiedostokuvakkeen ominaisuuksissa on "run in terminal" tms.
Otsikko: Vs: c-ohjelman ajaminen
Kirjoitti: larpa - 24.01.08 - klo:14.34
Lainaus
Kertokaa nyt joku, jolla on suomenkielinen Gnome käytössä, miten suomenkielisessä versiossa tiedostokuvakkeen ominaisuuksissa on "run in terminal" tms.
Muistaakseni: suorita päätteessä
Otsikko: Vs: c-ohjelman ajaminen
Kirjoitti: MikkoJP - 24.01.08 - klo:14.35
Bingo. Tulihan se sieltä.
Otsikko: Vs: c-ohjelman ajaminen
Kirjoitti: seniori - 24.01.08 - klo:16.09
Kumma juttu, mikään ohje ei näytä toimivan mun koneessa. Kokeilin
ohjelmaa:
#include<stdio.h>
int main()
{ char mrk;
  printf("\n\nPaina jotain näppäintä : ");
  mrk = getchar();
  printf("Painoit %c näppäintä\n\n",mrk);
  sleep(4);
}
talletin nimellä merkki.c ja käänsin komennolla gcc merkki.c -o merkki
sekä ajoin päätteessä  komennolla ./merkki.

Ohjelman ei pitäisi humahtaa ohi, koska siinä pyydetään painamaan
jotain näppäintä. Ohjelma toimii päätteessä hyvin mutta
jos klikkaan nautiluksessa sitä salmiakkikuviota, niin mitään ei tapahdu.
Ruksi "salli tiedoston suoritus ohjelmana"  on asetettu.
Otsikko: Vs: c-ohjelman ajaminen
Kirjoitti: _Pete_ - 24.01.08 - klo:17.17

Ohjelma toimii päätteessä hyvin mutta
jos klikkaan nautiluksessa sitä salmiakkikuviota, niin mitään ei tapahdu.
Ruksi "salli tiedoston suoritus ohjelmana"  on asetettu.


Tuo ohjelma tarvii päätteen että se toimii. Senpä takia se toimii päätteessä. Jos tuon käynnistää graafisestatiedostonhallinsta
ilman "suorita päätteessä" valintaa niin ei mitään tietenkään tai kysytä koska päätettä, josta merkki luetaan ei ole olemassa.

Miksi pääteohjelma ylipäätään pitää käynnistää graafisestatiedostonhallinasta, koska se ei ole sellaiseen tarkoitettu ?

Otsikko: Vs: c-ohjelman ajaminen
Kirjoitti: seniori - 24.01.08 - klo:19.18
ihan hyvä kysymys. Vastaus: tässä vaan kokeilen kaikenlaista.
Kun ohjelma on käännetty ajettavaksi asti, niin luulin, että
sen käännetyn ohjelman kuvaketta klikkaamalla ohjelma käynnistyy.
Nyt sain sen homman kuitenkin toimimaan, kun löysin kohdan
avaa ohjelmalla ja sieltä kohdan lisää
ja sieltä kohdan käytä omaa komentoa
ja sieltä kohdan selaa
ja sieltä valitsin xterm!
Nyt voin käynnistää ohjelmani vain klikkailemalla, tosin
aina pitää valita avaa ohjelmalla ja sieltä rullata alimpaan valintaan (xterm)
ja katso
ohjelma aukeaa terminaaliin, hurraa!!

Kiitokset kaikille kärsivällisyydestänne!
Otsikko: Vs: c-ohjelman ajaminen
Kirjoitti: MikkoJP - 24.01.08 - klo:21.15
sen käännetyn ohjelman kuvaketta klikkaamalla ohjelma käynnistyy.
Nyt sain sen homman kuitenkin toimimaan, kun löysin kohdan

Kyllä se käynnistyykin ja tulostaa standarditulosteeseen tekstiä, mutta kun ohjelma ei avaa päätettä, niin et näe sitä. Kokeile lisätä  ominaisuuksiin tuo "suorita päätteessä" tms. Sen jälkeen ohjelman pitäisi toimia suoraan napsauttamalla kuvaketta.