Moi.
Yritän tässä kääntää Lcc:lle kirjoitettua koodia ubuntun gcc:lle. En kuitenkaan näistä kirjastoista juurikaan mitään tiedä, opettelen vasta itse C koodia ja syntaksi.
Helpottaisi kovasti, jos joku voisi kertoa millä kirjastoilla korvaisin lcc version kirjastot, että voisin alkaa itse koodia muovaamaan.
#include <stdio.h> #include <conio.h> #include <io.h> #include <stdlib.h> #include <ctype.h> #include <string.h> #include <malloc.h> #include <math.h> #include <time.h> #include <winuser.h> #include <windows.h> #include <direct.h>
Kristian Virtanen
Etpä sinä noita viimeisiä Windows-headereita tule millään korvaamaan Linuxin puolella. Muutenkin aika epätoivoinen ajatus alkaa opetella C:tä copy-pasteamalla jonkun toisen koodia.
The Alchemist kirjoitti:
Muutenkin aika epätoivoinen ajatus alkaa opetella C:tä copy-pasteamalla jonkun toisen koodia.
Itse opettelin ohjelmoimaan Infernolle Limbolla lähes pelkästään tutkimalla muiden tekemiä käyttöjärjestelmän mukana tulevia ohjelmien lähdekoodeja ja miettimällä miksi jokin asia on tehty jollakin tietyllä tavalla.
Tällä hetkellä työn alla on PL/I - ohjelmointikielen opiskelu ja tuotakin teen tutkimalla muiden kirjoittamia ohjelmia ja kiusaamalla kysymyksien muodossa foorumilla vanhoja ukkoja, jotka ovat tuon kanssa puuhastelleet vuodesta 1965 lähtien.
Voit toki asentaa Ubuntuun Winen, jolla voit ehkä ajaa joitakin Windows-ohjelmia. Kääntäminen onnistuu mahdollisesti Winen mukana tulevalla winegcc:llä tai Ubuntun gcc-mingw32-paketissa olevalla i586-mingw32msvc-gcc:llä.
Windows-ohjelmoinnin opettelu on kuitenkin aika hölmöä, jos tavoitteena on oppia C:tä yleisesti ja oma käyttöjärjestelmäkin on Linux. Kannattaa opetella alusta asti kirjoittamaan standardinmukaista, käyttöjärjestelmästä riippumatonta koodia, ja kun se ei riitä, kannattaa käyttää usealla käyttöjärjestelmällä toimivia kirjastoja (esimerkiksi SDL:ää multimediaan). Hyvät kirjastot ovat yleensä myös helppokäyttöisempiä ja turvallisempia kuin vastaavat toiminnot matalammalla tasolla.
Terve ja pahoitteluni hieman hätäisestä viestistä. Kaksi lasta sylissä ei kannattaisi kirjoitella mitään :)
Eli, otetaanpa alusta.
Kyseessä on avoimen lähdekoodin ohjelma, joka on kehitetty windowsille. Tekijä on pyytänyt minua kokeilemaan saisinko sen käännettyä linuxille. Kyseessä on ohjelman ensimmäinen kehitysversio joka toimi ainoastaan konsolissa/terminaalissa. Ensimmäiseen viestiin pasteamani headerit kuuluvat uusimpaan versioon, johon en aio edes tutustua vielä hyvään aikaan.
C kielenä on suhteellisen tuttu eikä se poikkea rakenteeltaan juurikaan muista kielistä joita käytän. Pääasiallisisesti modernimmat basic kielet sekä php. Syntaksi on kuitenkin suhteellisen helposti omaksuttavissa, joten en usko isoja vaikeuksia sen suhteen tulevan. Sen mitä en vielä syntaksista tiedä, löydän kyllä hakukoneiden avulla.
Olen yrittänyt etsiä sivua jolta voisi hakea sopivia kirjastoja korvaamaan gcc:lle tarvitsemani. En ole kuitenkaan onnistunut sellaista löytämään. Tässäpä muuten oiva idea jollekulle jolla riittää aikaa ja intoa ;)
Eli Lcc headerit ovat seuraavat:
#include <stdio.h> #include <conio.h> #include <io.h> #include <stdlib.h> #include <ctype.h> #include <string.h> #include <malloc.h>
[edit]
Taisivat löytyä
#include <stdio.h> #include <ncurses.h> // #include <conio.h> // #include <io.h> #include <stdlib.h> #include <ctype.h> #include <string.h> #include <malloc.h>
Aihe on jo aika vanha, joten et voi enää vastata siihen.