kako se pokreće kompajlirani command line program?
(1 korsinik/a gleda/ju temu) (1) Gost

kako se pokreće kompajlirani command line program?


23.01.2011 | 15:56
Nešto pokušavam pomoći nećaku, ali imam problem što ne znam kako pokrenuti C program jednom nakon što je uspješno kompajliran.

Imam, dakle, neki trivijalni C programčić koji je uspješno iskompajliran, bilo da sam to napravio iz Terminala pomoću GCC, bilo pomoću Xcode.

Skužio sam da se u Xcode nakon pokretanja interakcija s programom odvija kroz debugger console, međutim, iz nekih svojih razloga bi više volio pokrenuti ga iz Terminala.

U oba slučaja (i pomoću gcc, i kroz Xcode) dobijem executable binary. GCC kreira a.out u tekućem direktoriju, a Xcode kreira file s imenom projekta smješten u Build/Debug/ unutar mape projekta. U oba slučaja unix dozvole su postavljene tako da je file executable, dakle

-rwxr-xr-x

Koliko se sjećam (ali davno je to bilo), na Unixu je bilo nakon toga dovoljno utipkati ime programa i enter i program bi se pokrenuo. Ovdje, međutim, dobijem poruku "command not found". Isto i nakon što sa chmod 0777 pretvorim dozvole u

-rwxrwxrwx

Isto i ako pokušam pokrenuti sa sudo.

Što sam to zaboravio? Ili na Appleu ima negdje neka kvačica koja onemogućava pokretanje izvršne datoteke ako nije na određenom mjestu na disku?
Tema zaključana.
23.01.2011 | 16:16
Eh... Skužio sam da umjesto

a.out

moram tipkati

./a.out

i onda radi.

Ali - ostaje pitanje - zašto? I može li se to kako izbjeći?
Tema zaključana.
23.01.2011 | 16:43
Ili na Appleu ima negdje neka kvačica koja onemogućava pokretanje izvršne datoteke ako nije na određenom mjestu na disku?

To je unixov feature. Izvršavanje aplikacija u terminalu ovisi o search pathu ("executable search path" ) koji je pohranjen u $PATH env varijabli.

Current directory ("." ) nije u search pathu iz sigurnosnih razloga - tako je najjednostavnije spriječiti izvršavanje malicioznih naredbi (trojani!). Iz perspektive "kućnog Mac usera" to vjerojatno zvuči paranoično ali kada u višekorisničkom sustavu nečiji folder ima "write" privilegiju za sve usere, kada bi "." bio u executable search pathu, netko bi mogao u njega kopirati svoju verziju, recimo, "pwd" naredbe koja radi nešto nevaljalo - i ta verzija bi se izvršila prije sistemske, samo zato što je u lokalnom pathu - točnije, izvršio bi je user u čijem je lokalnom pathu, ne znajući da će pokrenuti "trojana" umjesto sistemske naredbe. Pa su tome doskočili sa "./" - teško da ćeš slučajno napisati "./pwd".

Ako ti je tlaka uvijek pisati "./" dodaj folder u kojem je novokompajlirani exe u path i moći ćeš ga pozivati samo s imenom exe datoteke.
Tema zaključana.
23.01.2011 | 16:58
OK, hvala na tumačenju, ali ipak se ne mogu složiti da je to Unix feature. Radio sam na Unixu dosta i to nije bilo tako. Odnosno, nije bilo "by default".

I, naravno, nitko nije stavljao da je njegov folder otvoren za pisanje svima.

No, nema veze. Sve je jasno, hvala!
Tema zaključana.
23.01.2011 | 17:16
OK, hvala na tumačenju, ali ipak se ne mogu složiti da je to Unix feature. Radio sam na Unixu dosta i to nije bilo tako. Odnosno, nije bilo "by default".

Ne sjećam se kad sam instalirao zadnji unix od nule, a s obzirom na različitost distibucija ne bih stavljao ruku u vatru kako je (ili kako je bio) podešen defaultni path. U svim unixima koje trenutnu koristim nije u pathu pa pretpostavljam da su admini to prihvatili kao "dobru praksu".

Tebi definitivno nitko ne brani dodati "." u path.

export PATH=$PATH:.
Tema zaključana.
23.01.2011 | 17:50
ja ti mogu samo oko Xcodea reć kako ga pokrenut u Terminalu, budući da nisam zadovoljan sa Xcodeovom konzolom.

img.skitch.com/20110123-gjxm1esip5jwh2xgmqfq92tf1s.png
Tema zaključana.
23.01.2011 | 18:19
A može se i mišem odvući u Terminal isto (to sam skužio kasnije). Hvala u svakom slučaju!

Đipi, Unix kojeg sam ja zadnjeg instalirao bio je SCO Unix za PC platformu, 1998. Osim toga sam koristio Unix na onim istim Sun Sparcovima koji su sad naslagani ispod stepenica u Peek & Pokeu, a i tzv. Minix na DEC MicroVAX 350.

Linux nisam koristio skoro ništa. Da ne misliš ti na Linux?
Tema zaključana.
23.01.2011 | 20:17
Djipi je dobro odgovorio. Osobno sam doživio kako je to preporučena sigurnosna politika na Linuxu, FreeBSD-u i Solarisu, a očigledno i na OS X
Tema zaključana.
23.01.2011 | 20:45
OK. Prihvaćam logiku iza toga.
Tema zaključana.
23.01.2011 | 21:45
Current location nije u pathu ni na Solarisu ni na Linuxu ni na AIX-u ni na Tru64 ni na HPUXu ni na NetBSD-u ni na OS X-u.
Iz mojeg iskustva.
Tema zaključana.
Moderatori: Bertone
  • Stranica:
  • 1

Vikalica™

Zadnja poruka: pred 1 tjedan, 1 dan
  • smayoo: piši u forum
  • user: Ako zna netko kako dobiti njihovu zadnju poznatu lokaciju to bi bilo korisno
  • user: pretražio sam sve itd.
  • user: Već sam "play sound" aktivirao, ništa
  • user: nestale mi Airpods 4, what do? Piše "No location found" u FindMy.
  • user: ljudi,
  • CoffeePod: Cijeli 26 relase je bio sramotan za Apple i morali su “double down” i back to the lab da sve tweakaju kako su trebali
  • CoffeePod: Performansi i ulickani dizajn je ono sto treba
  • CoffeePod: Iskreno ne razumjem vas kojima je ovo “dosadno”. Stvarno morate ici taknuti travu.
  • dpasaric: Objavio sam osvrt na naslovnici, pa tamo komentirajte...
  • drlovric: Meni je Siri skroz OK, upakirali su to lijepo. Ocekivano ce vecina puno ovih stvari iic na pretplatu jer trosi compute (i Gemini) resurse. Lejpse mi izgleda UI jer smanjuju prozirnost :)
  • dpasaric: Što je najbolje nećemo imati niti Siri AI jer je EU učinila sve da se to regulatorno zabrani.
  • pontmax1: A dosade, imate li nešto više od šugave SIri AI
  • drlovric: Kao da ce roditelji ovo raditi. Otkljucat ce im sve i cao.
  • drlovric: Smorise sa ovom djecom :) Nestvarno...
  • dpasaric: Za sada dosadno za poludit... :)
  • dpasaric: I ja imam niska očekivanja, pa da vidimo! :)
  • dpasaric: Kreće za 5 minuta! :)
  • drlovric: Meni su ocekivanaj jako nisko. Pricati ce o Siri, koja ce opet doci kao beta. Pa ce raditi kako treba u inacici 27.4 :) Volio bih da grijesim, ali vise im ne vjerujem na rijec.
  • ping: Bit će to zanimljiva večer. Kupio sam dvije vrečice indijskih oraščića i planiram još barem mali paket Munchmallowa.
  • dpasaric: Danas u 19h WWDC! :)
  • Riba: user, ne upisuj admin password ano ne znas tko i zasto te pita i to je u osnovi to.
  • Yonkis: U Berlinu se otvara Developer Centar [link]
  • user: kako biti siguran od virusa na Macu? Sad ću reinstalirati OS i želim biti siguran.
  • user: bok ljudi,
  • Yonkis: Mene, kao prišlića, iznenadilo koliko je puno zastupljeniji Viber nego WhatsApp a Signal skoro nitko nije ni čuo (osim jabučnjaka). Zanimljivo.
  • Riba: Za tajne stvari imam pisacu masinu. :)
  • Riba: Ja imam instalirano sve pa tko kako hoce.
  • drlovric: Sve koje znam koriste Whatsapp. Viber, je isto popularan. Kao i Telegram. Signal nije bas zastupljen u mojim krugovima :)
  • dpasaric: Hehe, odlično, ja sam odavno prebacio sve na Signal.
  • Performita: Hvala Smayoo, Kako je Davor napisao ispod članka, i ja ebo čitam knjigu i lagano sve prijatelje, osobito one koji nemaju iPhone nagovaram na Signal.
  • smayoo: svima koje znam, to jest. :)
  • smayoo: skinuo i proslijedio link svima koji su još sposobni čitati knjige... :)
  • Performita: Ekipa, idemo sad svi skinuti besplatnu knjigu Guya Kawasakija da mu na administraciji stranice pokaže kako je odjeknulo u Hrvatskoj ;-)
  • dpasaric: Jest sitni sat, ali je published! :) Uživajte!
  • Yonkis: [link]
  • Yonkis: Baš baš sve!
  • Djuro genijalac: Izgleda da je BAŠ sve ovdje
  • Djuro genijalac: [link]
  • Yonkis: Hooorayyyy [link]
  • dpasaric: Radim na tome da nabavim zanimljiv monitor za tehnički review, držite palčeve da upali jer bi moglo biti mnogima zanimljivo. :)
  • Yonkis: Font je drugačiji.
  • Performita: :-)
  • dpasaric: Pogledajte naslovnicu! :)
  • dpasaric: Taaaa-daaaa! :)
  • dpasaric: Javim uskoro... :)
  • dpasaric: Ne, ovdje na Jabučnjaku!
  • Yonkis: dpasaric - Jel' u Kokolu?
  • dpasaric: Spremamo poslasticu za večeras! :)
  • ivan.ocd: Hvala za konkretni model, budem i ja pogledao za takav neki model… imam puno knjiga koje trrba analizirati i tu je onda preslab.

Za vikanje moraš biti prijavljen.

Prijava

Prisutni jabučari

Riba, Anonimci (1417)

Novo na Jabučnjaku

Teme

Poruke

Oglasi

Anketa

Koji Mac koristite?

Page Speed 0.77 Seconds

Provided by iJoomla SEO