Poslao: 13 Jan 2022 03:09
|
offline
- Pridružio: 11 Okt 2014
- Poruke: 362
|
Pozdrav, napisao sam zaista složen (oko 2000 linija koda) C program, i želim ga pokrenuti na svojoj web stranici. Znam da postoje neki servisi u koje možete zalijepiti svoj kod i pustiti da ga svi kompajliraju i pregledaju. Ali želim to napraviti na način da posjetitelji mogu samo pokrenuti kod, bez gledanja. Također, želim ažurirati ako je potrebno i taj program bi trebao biti 24h dostupan. Dakle pravi hosting, a ne preko local hosta da idem. Postoji li način da to uradim, možete li mi objasniti?
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 13 Jan 2022 08:02
|
offline
- vasa.93
- Moderator foruma
- Pridružio: 17 Dec 2007
- Poruke: 14822
- Gde živiš: Niš
|
Da ga pokreneš na web stranici a da ne podeliš kod sa klijentom - vrlo teško. Kod je skup naredbi koje računar izvršava, i ako želiš da računar klijenta (web stranica) izvršava te naredbe, mora se predati kod. Logično, zar ne?
Međutim, postoji rešenje, a to je da se tvoja aplikacija pokreće na serveru, i da ima neki API koji web stranica može da poziva. Kod C programa način da se napravi tako nešto je upotreba CGI-a. Evo malo detalja: https://jkorpela.fi/forms/cgic.html Sigurno možeš da izguglaš još tonu materijala na tu temu, ali mislim da je to malo zastarela tehnologija koja nije nešto popularna danas. Što ne znači da nije dobra, već znači da ćeš morati malo da se pomučiš da napraviš sve to da radi na način na koji si zamislio.
Drugi način bi bio da priložiš samo binary (executable) koji klijenti mogu da preuzmu i pokrenu na svom računaru. Ali to se ne pokreće u browseru, i čik pogodi - ako si predao binary, što je onaj skup naredbi pomenut gore, ti si praktično predao kod. Postoji način da se takav binary dekompajlira i od njega se dobije kod koji se po potrebi može promeniti i ponovo kompajlirati. Istina, u tom procesu se ne dobija izvorni kod, jer se mnoge stvari iz izvornog koda izgube nepovratno prilikom kompilacije, ali se dobija kod koji može da se kompajlira u isti binary. Svakako, ekzaktno gledano, ne možeš da izbegneš predaju koda u ovom slučaju.
|
|
|
|
Poslao: 13 Jan 2022 09:38
|
offline
- Pridružio: 11 Okt 2014
- Poruke: 362
|
Ne bih da klijentima šaljem exutable program jer na taj način ne mogu updatovati kod po potrebi.
Postoji li neki online server ili platforma za CGI? Tražio sam i izgleda da nema. Nemam baš vremena da se bavim time, ja bih da samo kopiram kod koji treba da se pokreće, ovaj CGI mi se čini malo komplikovanim.
|
|
|
|
Poslao: 13 Jan 2022 12:22
|
offline
- vasa.93
- Moderator foruma
- Pridružio: 17 Dec 2007
- Poruke: 14822
- Gde živiš: Niš
|
A hajde objasni kako ti to zamišljaš da radi?
Ako bi da samo kopiraš kod - napiši JavaScript kod i to je to. C je ovde promašena tehnologija. Način da se to prevaziđe je opisan iznad. Možda ima i neki drugi, ali ja ne znam za njega.
|
|
|
|
Poslao: 13 Jan 2022 17:54
|
offline
- Pridružio: 11 Okt 2014
- Poruke: 362
|
hvala na odgovoru
ja sam to zamislio ovako npr.
https://ideone.com/mZ08pF
nešto poput ovog da postavim svoj kod, i oni kojima pošaljem link mogu da ga pokrenu, samo što je ovdje problem što se kod vidi (ali hajde neka se vidi), ali drugi problem koji se javlja je prekoračenje maksimalne dozvoljene veličine fajla (moj kod je podugačak)
|
|
|
|
Poslao: 15 Jan 2022 01:58
|
offline
- E.L.I.T.E.
- Legendarni građanin
- Pridružio: 23 Maj 2012
- Poruke: 4575
|
Okej, ti hoćeš neki već gotov servis gde ti možeš da ubaciš kod koji će moći da izvrši neko ali da on ne vidi taj kod? Koliko znam, tako nešto ne postoji. Svi ti servisi se prave tako da omoguće ljudima da izvrše kod online, ne da dele programe.
|
|
|
|
Poslao: 21 Jan 2022 21:51
|
offline
- Pridružio: 11 Okt 2014
- Poruke: 362
|
Čisto jedan update, linija po linija, i uspio sam prevesti ovaj C program u Javascript. Hvala puno svima na odgovorima
I sad nešto razmišljam, nema možda ni smisla praviti desktop aplikacije više, to je zastarjela tehnologija. Javascript i web preuzimaju glavnu ulogu kod korisnika.
|
|
|
|
Poslao: 21 Jan 2022 23:17
|
offline
- vasa.93
- Moderator foruma
- Pridružio: 17 Dec 2007
- Poruke: 14822
- Gde živiš: Niš
|
Pa recimo da je tako nekako. Čak se i mnoge desktop aplikacije kodiraju koristeći web tehnologije, pa se onda pomoću određenih alata pakuju kao desktop aplikacije. Međutim, ovde C nije zastarela tehnologija, nego je promašena tehnologija za tvoje potrebe.
|
|
|
|
Poslao: 22 Jan 2022 16:26
|
offline
- E.L.I.T.E.
- Legendarni građanin
- Pridružio: 23 Maj 2012
- Poruke: 4575
|
amar54k ::I sad nešto razmišljam, nema možda ni smisla praviti desktop aplikacije više, to je zastarjela tehnologija. Javascript i web preuzimaju glavnu ulogu kod korisnika.
Nažalost jeste tako. Skoro sve poznatije aplikacije su na Electron-u, a retke su one poput VS Code-a koje su dobro optimizovane. Nadam se da će Flutter zaživeti na desktopu i da će doneti neke promene sa te strane.
C nije zastareo ali jeste dosta nepraktičan za razvoj desktop aplikacija.
|
|
|
|