Eli siis tarkoitukseni on opetella ohjelmointia ubuntussa, mutta ongelmana on se että olen aloittelija linuksin käytössä. Koodia olen opetellut kirjoittamaan windowsissa, mutta en tiedä miten tämä käytännössä tapahtuu ubuntussa. Opettelen mielummin koodaamaan ubuntussa, koska se toimii muuten huomattavasti paremmin, kuin windows. Eli siis olen windowsissa käyttänyt dev c ja tarkoitus olisi siirtyä ubuntuun, mutta en löydä ohjelmaa ja olen muutenkin aika hukassa.
C++ koodaus ubuntussa?
35
1304
Vastaukset
- Uninen
on ihan pätevä. tai vim. tai vaikka KDevelop.
gcc on jokaisessa mukana tai ainakin asennettavissa.
"en tiedä miten tämä käytännössä tapahtuu ubuntussa. "
Eipä se koodaus erilaista ole, paitsi jos olet erehtynyt sekoilemaan MFC:n kanssa. - netbeansin
C työkalua.
- asdf12344312
eclipse tai joku muu ide (integrated development environment) jos haluat "kaikki yhdessä paketissa" ratkaisun. "Wanha" mutta ihan hyvä tapa on valita itse itselleen mieleiset työkalut: Hyvä tekstieditori (vim [ja ehkä eclim lisäksi], emacs, jedit, ...), build zydeemi (cmake, autotools tms.), kääntäjä (gcc, icc). Ctags tai etags kahden ensimmäisen editorin kanssa lienevät myös tarpeellisia. -Wall vipu gcc:lle on semi-pakollinen mielestäni.
- Matikkamies
Muita käyttökelpoisia työkaluja on Valgrind ja GDB. Valgridilla voi tarkistaa, enko ohjelmassa muistivuotoja ja GDB on symbolinen virheidenjäljitin Linuxille. Ehkä aloittelijalle sopivampi symbolinen virheidenjäljitin on DDD.
- sanonko_mistä
No, turbo-c:llä opitun mukavuuden jälkeen voin sanoa, että gdb ei ole se, mitä luultavasti haluat käyttää. Ainakin siihen tarvitsee jonkinlaisen kurssin läpikäymisen, että siitä on jotain hyötyä. ddd:stä ei myöskään ole juuri hyötyä, mikäli ei ole opetellut mitään debuggauksesta gdb:llä..
..että Ubuntu on C ohjelmoinnissa taivas Windowsin jälkeen.
GCC on kääntäjä mikä toimii, olen käyttänyt sitä jo 14v. Aivan loistava softa! Lukaiset vaan dokumentaation läpi ja alat hommiin. Koodin nyt kirjoittaa millä tahansa.GCC on yksi parhaista kääntäjistä. Mutta sitä en ymmärrä miksi C kieltä joka monella tavalla hankala. Geany voisi olla kokeilemisen arvoinen jos tottunut käyttämään Dev C
- Ubuntuija
Ubuntuun olen paukutellut vaan "gcc sorsa.cpp -o sorsa" ja niin on ollut hyvä. Ihan vakioasennus, ei mitään ylimääräistä.
- How_about
Code::blocks ide.
- TheRealJ
Kannattaa harkita myös Qt Creatoria. Oikein toimiva kehitysympäristö ja Qt antaa pätevän pohjan ohjelmistokehitykseen.
- dsfgsdgdsgdsg
Ja tuo on myös helppo. Itse pääsin heti kärrylle, vaikka aiempaa kokemusta oli vain Visual Basicista vuosikymmenen takaa.
Samalla ympäristöllä tekee koodin Windowsiin, Linuxiin, Raspberrylle, digiboksiin, autoon ja leivänpaahtimeen.
Tuo on todella käyttäjäystävälliseksi saatu! - TheRealJ
dsfgsdgdsgdsg kirjoitti:
Ja tuo on myös helppo. Itse pääsin heti kärrylle, vaikka aiempaa kokemusta oli vain Visual Basicista vuosikymmenen takaa.
Samalla ympäristöllä tekee koodin Windowsiin, Linuxiin, Raspberrylle, digiboksiin, autoon ja leivänpaahtimeen.
Tuo on todella käyttäjäystävälliseksi saatu!Jep. Tuo käyttöjärjestelmäriippumattomuus on oikein kätevää, kun samasta lähdekoodista saa helposti tehtyä version monelle eri systeemille. Ilmeisesti Qt:tä käytetään myös monissa kaupallisissa ohjelmistoissa. Esimerkiksi Wikipedian mukaan mm. Adobe Photoshop Elementsissä on käytetty Qt:tä.
- sdfdsssd
TheRealJ kirjoitti:
Jep. Tuo käyttöjärjestelmäriippumattomuus on oikein kätevää, kun samasta lähdekoodista saa helposti tehtyä version monelle eri systeemille. Ilmeisesti Qt:tä käytetään myös monissa kaupallisissa ohjelmistoissa. Esimerkiksi Wikipedian mukaan mm. Adobe Photoshop Elementsissä on käytetty Qt:tä.
"Qt (lausutaan virallisesti kuten englannin kielen sana "cute") on alustariippumaton ohjelmistojen ja graafisten käyttöliittymien kehitysympäristö."
Eikä mikään ohjelmointi kieli. - jckxkxkxxl
ketjun aihe onkin "C koodaus ubuntussa".
ja sitä qtcreatorilla voi tehdä vallan mainiosti.
omaksi kielekseenhän sitä ei kukaan ole väittäänytkään, joskaan et qt-projektia suoraan gcc:llä voi kääntää..
- Turbo-Urpo1
Non-niin, non-niin, mitäs me ollaan ohjelmoitu Qt Creatorilla, minä olen tehnyt tälläisen keskitys esimerkin, jossa ikkuna avautuu ruudun keskelle, ja ikkunan sisällä oleva Label-komponetti on myös keskitetty: https://i.postimg.cc/pdHs47dV/Keskitys_esimerkki_164.png
🤓 Saa pistää paremmaksi 🤓- Turbo-Urpo1
Ja tuossa ei ole käytetty apuna Qt 4 Designer liittymää luodessa, vaan kaikki löytyy tästä main.cpp tiedostosta: https://i.postimg.cc/Kv7gR92w/Valinta_165.png
Saa helpostikin paremman kun jättäisi sen Qtcreatorin pois...
Ysäri HTML label ja C :lla sijainnin laskenta on aika järkkyä. Saman tien HTML koko kuvaukseen.
C sopii paremmin vähän eri juttuihin.- TheRealJ
Turbo-Urpo1 kirjoitti:
Ja tuossa ei ole käytetty apuna Qt 4 Designer liittymää luodessa, vaan kaikki löytyy tästä main.cpp tiedostosta: https://i.postimg.cc/Kv7gR92w/Valinta_165.png
Designeriä ei tosiaankaan ole mikään pakko käyttää, vaan käyttöliittymän voi tehdä aivan ohjelmallisesti luomalla koodissa komponentit ja layoutit. Jos käyttöliittymä on kovin monimutkainen voi kuitenkin olla parempi käyttää designeriä (muuten koodista voi tulla aika sekava). Designerin etuna on, että jos haluaa muuttaa käyttöliittymää se onnistuu aika helposti, kun taas monimutkaisen ohjelmallisesti luodun käyttöliittymän muokkaus voi olla aika kimuranttia.
Käyttöliittymän luontiin myös QML (vai onko se nykyään Qt Quick) on harkitsemisen arvoinen. Sillä käyttöliittymän voi määritellä Javascriptin tyylisellä skriptillä. Itse tein sillä esmes yhdessä välissä jonkinlaisen käärmepelin pohjan, jossa käärme kääntyi pehmeästi 90 asteen käännösten sijaan. Ja hakiessani Elektrobit Automotivelle tein näytteeksi QML/Qt sovelluksen, joka simuloi jonkinlaista jarru/kaasu/vaihdesysteemiä.
Ja M-Karille: HTML on kyllä ihan kätevä, kun sillä tehtyä käyttöliittymää voi käyttää millä tahansa standardinmukaisella selaimella. Tietenkin jos on tarpeen tehdä laiteläheisiä juttuja se ei välttämättä ole paras vaihtoehto Mutta moniin tarkoituksiin (jos tarvitaan graafista käyttöliittymää) HTML ja erinäiset standardit back-end jutut ovat ihan käytännöllisiä. Käyttöliittymä harvemmin on laiteläheinen...
Autossa voi joku QML olla paikallaan. Ei siksi että se olisi yhtään lähempänä laitetta vaan se, että kyseessä on helposti turvallisuuden kannalta merkitysellinen kohde ja Qt tekee bisnestä sen kanssa ja myyvät kyseisen alan standardeihin tehtyä palikkaa. Vastaavaa juttua on myös esimerkiksi sairaalavehkeissä.
Tapauskohtaisia. 95% tilanteissa standardit ovat sopivampia mutta onhan noita erikoiskohteita toki.
- 534534534
Jokos Linuxille löytyy sellainen C IDE missä on mukana käyttöliittymän rakentaminen ja integroitu debuggeri millä voi debugata monisäieohjelmiakin ilman koneen kaatuilua kuten vaikka Borland Builderissä oli 90-luvun alussa?
Aikaahan on tietysti vasta mennyt noin 30 vuotta ja tunnetusti tämä tietojenkäsittelyala menee hitaasti eteenpäin.- Turbo-Urpo1
Qt Creator kääntää ja Qt 4 Designer on liittymän suunnitteluun.
Borland C Builder sisältää myös nuo Qt -kirjastot. - Turbo-Urpo1
Nämä vanhemmat Code::Blocks ja CodeLite kääntäjät käyttää käyttöliittymän suunnitteluun
wxCrafter ohjelmaa.
Minkälainen C ohjelmantekijä sinä olet jollet noita jo entuudestaan tiennyt. Nyt voisit syventää tietämystäsi ja hakea mitkä kaksi käyttöliittymän suunnitelu ohjelmaa jätin mainitsematta, nimen omaan linux ympäristöön kuuluvia. Tai anna olla, kun 30 vuotta on mennyt sinulta etkä ainuttakaan ole löytänyt, tuskin sitä kukaan jaksaa odottaa että edes vinkistä mihinkään kykenet. - Turbo-Urpo1
Eikös jo KDE 1.0 vuonna 1998 ollut joku GUI -liittymän suunnittelu ohjelma, en ole varma mutta viimmeistää versiossa 3 jo oli, muistelen sitä käyttäneeni, ja versiossa 4 luovuin tuosta ympäristöstä sen työpöydä käydessä liian raskaasi silloin minulla olleelle koneelle.
"Jokos Linuxille löytyy sellainen C IDE missä on mukana käyttöliittymän rakentaminen ja integroitu debuggeri millä voi debugata monisäieohjelmiakin ilman koneen kaatuilua kuten vaikka Borland Builderissä oli 90-luvun alussa?"
90-luvulta saakka ollut. Paitsi puhut höpöjä tuosta monisäieohjelmien debuggauksesta, sillä 90-luvun alussa käytännössä ajettiin useita prosesseja rinnakkain, ei säikeitä. Jossain tilanteessa saattoi olla coroutine millä saatiin prosessin sisällä rinnakkaistettua ilman käyttöjärjestelmien säikeitä.
Säikeet tuli 90-luvulla mutta olivat tunnetusti bugisia käyttöjärjestelmätasolla siellä missä niitä oli, kuten esimerkiksi Windows 95, ja silloin oli tosiasiassa parempi olla ilman säikeitä ja keskittyä johonkin muuhun.
Mutta tuossa "C käyttöliittymä" olet auttamatta myöhässä kun noita harrasteltiin joskus vuosien 1992-2006 välillä. Tässä on viimeiset 12v ollut parempia välineitä oikeastaan joka mittarilla kuin C , sinne käyttöliittymäpuolelle.
- mee_pois
Eli et voi oppia koodaa ku käytät ELI-alotust.
- alkeiset
Ei näin vaan kääntäjät (kehittyy)
Täysin virheetön c kieli joka tehty kääntäjälle (gcc) 3.3.xxx
ei käänny käänny kääntäjällä 4.0.xxxx
Mahdollisuuksia 2? muutat koodii? tai asennat kääntäjän 3.3.xx?
Ohjelma koodi aina virheetöntä kääntäjä ei vaan tajuu. - vanhat-toimii
alkeiset kirjoitti:
Ei näin vaan kääntäjät (kehittyy)
Täysin virheetön c kieli joka tehty kääntäjälle (gcc) 3.3.xxx
ei käänny käänny kääntäjällä 4.0.xxxx
Mahdollisuuksia 2? muutat koodii? tai asennat kääntäjän 3.3.xx?
Ohjelma koodi aina virheetöntä kääntäjä ei vaan tajuu.Sanomattakin selvää et 3.3.xx kääntäjä saattaa tarvita vanhemman libc:een (eli vanhemman käyttiksen) tässä mukaan astuu (chroot) kukaan kun ei jaksa asennela aina "uutta" (tai "vanhaa" käyttistä uudelleen.
alkeiset kirjoitti:
Ei näin vaan kääntäjät (kehittyy)
Täysin virheetön c kieli joka tehty kääntäjälle (gcc) 3.3.xxx
ei käänny käänny kääntäjällä 4.0.xxxx
Mahdollisuuksia 2? muutat koodii? tai asennat kääntäjän 3.3.xx?
Ohjelma koodi aina virheetöntä kääntäjä ei vaan tajuu.Ei näin vaan kääntäjät (kehittyy)
"Täysin virheetön c kieli joka tehty kääntäjälle (gcc) 3.3.xxx
ei käänny käänny kääntäjällä 4.0.xxxx"
C-kielessä oli vuosien 1978..1989 välillä käytössä ns. K&R tyyli ja 80-luvulla tulevia standardeja käytettiin kirjastoilla. Ne olivat silloin periaatteessa muuttuvia.
Vuodesta 1989 lähtien oli C-kielelle virallinen standardi C89 ja sitä sai tehtyä virheetöntä C-kieltä joka kääntyi vaivatta ja siihen ei kääntäjä juurikaan vaikuttanut. GCC:ssä saa edelleen käytettyä tätä sellaisenaan ja valittua tämän valitsimella -std=c89
Ja lisäksi -Wall niin näkee onko siinä virheitä.
C-kieli sitten päivittynyt, että on sitten C99 ja C11 ja niitä voi käyttää valitsimilla -std=c99 ja -std=c11
Eli joka vuosikymmenellä on hyvä idea ylläpitää sitä koodia vähän ja siirtää uudemmalle standardille niin vähentyy sitä sotkua. Seuraavan käyttöjärjestelmän asennuksen jälkeen kun on uusi kääntäjä, onkin ajankohtaista kääntää -std=c18
"Ohjelma koodi aina virheetöntä kääntäjä ei vaan tajuu."
Koodi tuskin on virheetöntä. Kokeile kääntää käyttöjärjestelmän oletuskääntäjällä valitsimilla -std=c89 -Wall
Siitä sitten asteittain siirrät -std=c99 -> -std=c11 ja joskus sitten -std=c18
Itse kääntelin tässä äsken koodia vuodelta 1981 jonka päivitin tällä tavoin C11 standardille. Olihan siinä virheitä läjäpäin itse koodissa ja lisäksi modernisoinni jotka vähensi koodin määrää kivasti.- Turbo-Urpo1
M-Kar kirjoitti:
Ei näin vaan kääntäjät (kehittyy)
"Täysin virheetön c kieli joka tehty kääntäjälle (gcc) 3.3.xxx
ei käänny käänny kääntäjällä 4.0.xxxx"
C-kielessä oli vuosien 1978..1989 välillä käytössä ns. K&R tyyli ja 80-luvulla tulevia standardeja käytettiin kirjastoilla. Ne olivat silloin periaatteessa muuttuvia.
Vuodesta 1989 lähtien oli C-kielelle virallinen standardi C89 ja sitä sai tehtyä virheetöntä C-kieltä joka kääntyi vaivatta ja siihen ei kääntäjä juurikaan vaikuttanut. GCC:ssä saa edelleen käytettyä tätä sellaisenaan ja valittua tämän valitsimella -std=c89
Ja lisäksi -Wall niin näkee onko siinä virheitä.
C-kieli sitten päivittynyt, että on sitten C99 ja C11 ja niitä voi käyttää valitsimilla -std=c99 ja -std=c11
Eli joka vuosikymmenellä on hyvä idea ylläpitää sitä koodia vähän ja siirtää uudemmalle standardille niin vähentyy sitä sotkua. Seuraavan käyttöjärjestelmän asennuksen jälkeen kun on uusi kääntäjä, onkin ajankohtaista kääntää -std=c18
"Ohjelma koodi aina virheetöntä kääntäjä ei vaan tajuu."
Koodi tuskin on virheetöntä. Kokeile kääntää käyttöjärjestelmän oletuskääntäjällä valitsimilla -std=c89 -Wall
Siitä sitten asteittain siirrät -std=c99 -> -std=c11 ja joskus sitten -std=c18
Itse kääntelin tässä äsken koodia vuodelta 1981 jonka päivitin tällä tavoin C11 standardille. Olihan siinä virheitä läjäpäin itse koodissa ja lisäksi modernisoinni jotka vähensi koodin määrää kivasti.Pakko sotkea vähän:
—
Vuodesta 1989 lähtien oli C-kielelle virallinen standardi C89 ja sitä sai tehtyä virheetöntä C-kieltä joka kääntyi vaivatta ja siihen ei kääntäjä juurikaan vaikuttanut. GCC:ssä saa edelleen käytettyä tätä sellaisenaan ja valittua tämän valitsimella -std=c89
—
Koitappa keksiä mikä vikana kun ei kääntäminen onnistu tuolla -std=c89 optiolla, kun yrität sen kääntää alla olevan näin:
gcc -std=c89 -o hei hei.c
#include <stdio.h>
int main (void){
// Antaa virheen
printf("Hello World\n");
} Turbo-Urpo1 kirjoitti:
Pakko sotkea vähän:
—
Vuodesta 1989 lähtien oli C-kielelle virallinen standardi C89 ja sitä sai tehtyä virheetöntä C-kieltä joka kääntyi vaivatta ja siihen ei kääntäjä juurikaan vaikuttanut. GCC:ssä saa edelleen käytettyä tätä sellaisenaan ja valittua tämän valitsimella -std=c89
—
Koitappa keksiä mikä vikana kun ei kääntäminen onnistu tuolla -std=c89 optiolla, kun yrität sen kääntää alla olevan näin:
gcc -std=c89 -o hei hei.c
#include <stdio.h>
int main (void){
// Antaa virheen
printf("Hello World\n");
}Oisko ihan vaan tuo kommentti kun C89:ssä kommentit tehdään näin: /* kommentti */
Toinen ilmeinen asia on paluuarvon puuttuminen. return 0; pitäisi löytyä.- sssaasaa
M-Kar kirjoitti:
Oisko ihan vaan tuo kommentti kun C89:ssä kommentit tehdään näin: /* kommentti */
Toinen ilmeinen asia on paluuarvon puuttuminen. return 0; pitäisi löytyä.Kiitos mää oon aina ennen sun 2:ta viimeistä kommenttii pitänyt gcc kehittäjiä idiootteina.
Ja huomasin nyt et idiootti oonkin itse
Eli aina oppii uutta... sssaasaa kirjoitti:
Kiitos mää oon aina ennen sun 2:ta viimeistä kommenttii pitänyt gcc kehittäjiä idiootteina.
Ja huomasin nyt et idiootti oonkin itse
Eli aina oppii uutta...Tuohon voisi lisätä, että funtion paluuarvo "return 0;" on niinikään myös pielessä.
löytyy täältä: #include <stdlib.h>
exit(EXIT_SUCCESS);
Tuolla tavalla poistutaan ohjelmista oikein. int main(void) toki on oikea muoto pääohjelmalle.- Turbo-Urpo1
M-Kar kirjoitti:
Oisko ihan vaan tuo kommentti kun C89:ssä kommentit tehdään näin: /* kommentti */
Toinen ilmeinen asia on paluuarvon puuttuminen. return 0; pitäisi löytyä.Joo, kyllä minä hain juuri tuota kommentin väärää muotoa, koska tuota muotoa voi käyttää vasta optiolla -std=c99.
- miksivalehteluttenne
Itseasiassa itsekin tutustuin Ubuntu 18 versioon, tämä puute on aina: sanotaan että on open-source: source ei kuitenkaan ole aina avoin KAIKILLE AJUREILLE.... miksi siis VALEHTELETTE ETTÄ OLISI OPEN-SOURCE -MUKA?
1. Ubuntu ei ole täysin open source vaan mixed source. Siinä on vähäisiä määriä suljettua koodia.
2. Ubuntu ON avoin kaikille ajureille joten puhut paskaa. Siellä ei ole ajurirajapinnassa mitään suljettuna.
Ketjusta on poistettu 1 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 663245
Sinä saat minut kuohuksiin
Pitäisiköhän meidän naida? Mielestäni pitäisi . Tämä värinä ja jännite meidän välillä alkaa olla sietämätöntä. Haluai272303Minä en ala kenenkään perässä juoksemaan
Voin jopa rakastaa sinua ja kääntää silti tunteeni pois. Tunteetkin hälvenevät aikanaan, poissa silmistä poissa mielestä681869Loukkaantunut lapsi on yhä kriittisessä tilassa
Seinäjoella Pohjan valtatiellä perjantaina sattuneessa liikenneonnettomuudessa loukkaantunut lapsi on yhä kriittisessä t281785Tiedän, että emme yritä mitään
Jos kohtaamme joskus ja tilaisuus on sopiva, voimme jutella jne. Mutta kumpikaan ei aio tehdä muuta konkreettista asian161421- 281381
Näin pitkästä aikaa unta sinusta
Oltiin yllättäen jossain julkisessa saunassa ja istuttiin vierekkäin, siellä oli muitakin. Pahoittelin jotain itsessäni61276Mitä, kuka, hä .....
Mikähän sota keskustassa on kun poliiseja on liikkeellä kuin vilkkilässä kissoja291271Taisit sä sit kuiteski
Vihjata hieman ettei se kaikki ollutkaan totta ❤️ mutta silti sanoit kyllä vielä uudelleen sen myöhemmin 😔 ei tässä oik101187Noh joko sä nainen oot lopettanut sen
miehen kaipailun jota sulla EI ole lupa kaivata. Ja teistä ei koskaan tule mitään. ÄLÄ KOSKAAN SYÖ KUORMASTA JNE! Tutu631177