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?
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?
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.
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!
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:.
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
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?
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
23.01.2011 | 20:45
OK. Prihvaćam logiku iza toga.
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.
Moderatori: Bertone
  • Stranica:
  • 1

Vikalica™

Zadnja poruka: pred 1 dan, 18 sati
  • Soffoklo: Vše o svemu ovdje - [link]
  • Soffoklo: CoreGraphics propust, za koji je objavljen PoC s malicioznim PDF-om, zakrpan je u iOS-u/iPadOS-u 26.7.1, macOS-u Tahoe 26.7.1 i Sequoia 15.8.1.
  • Junuz: Yonkis, dobro je dok te neupozorava.Znači da si vitalan pa sva 4 parametra
  • Junuz: Yonkis, nemožeš zanemariti poruke ove vrste, iskaču upozorenje.Medicinski gledano to ti je defacto massimo.Da nedetaljišem da je gps valjda stalno upaljen, nema veze zgrada drveće itd pogotovo u poređenju sa amazfit i xiaomi do trex 2 koje sam imao.Meni nesmeta puniti naveče pred spavanje.Ostalo procijeni sam.
  • Yonkis: Imam AW9 ali me samo zanimalo čime tj na koji način te upozorilo. Da znam i ja gledati jer dosta sam toga “isključio” ili zanemarujem. :)
  • Junuz: Yonkis, app zdravlje.Defaultna na watchu.Istina sat te prvih sedam dana skuplja podatke i radi kalibraciju.No za vrijeme boravka sam testirao dostupne funkcije i komparaciju sa medicinskim uređajima gdje je podudaranje u rezultatima umalo ili identičnoć
  • Yonkis: E to to pitam, kojom funkcijom/aplikacijom. Vrlo dobra stvar!
  • Junuz: Yonkis, upozorio me narušenim vitalnim funkcijama, za pluća znam da je naglasio broj udisaja naspram prosječnog i temperatura 1 od prosječne.Za kamenac se nesjećam ali je poruka bila da posjetim liječnika
  • Riba: Huawei GT Runner, dok mi ne dodje Pebble Round 2.
  • Krehacro: Riba koji nosis
  • Riba: Osim ago ga zaboravi napuniti. :) Meni je izbor jednostavan jer mi ne dolazi u obzir nista sto moram puniti cesce od jednom tjedno.
  • drlovric: Za normalan zivot kupi Apple watch. Ako si hardcore sportas, uzmi Garmin. Prvi put kada zaboravis novcanik ili mobitel, a imas Apple watch, bice ti drago sto nisi kupio Garmin :)
  • Krehacro: pa nije samo trcanje
  • Riba: Ako ti se ne puni sat svaki dan i treba ti za trcanje onda Garmin bez razmisljanja. Ako su ti bitne 'smart' funkcije i ne smeta te cesto punjenje, onda Apple.
  • Krehacro: I fitness i daily use
  • Riba: Za koju primarnu namjenu?
  • Krehacro: Mislim se izmedju garmin venu 4 ili apple watch 12
  • Yonkis: Sa čime te upozorio?
  • Junuz: Krehacro, apple svaka preporuka.Dva puta me upozorio na posjet liječnika.Koje sam naravno ignorirao i obadva puta završio u bolnici po 4 dana.Jednom upala pluče drugi put kamenac
  • Krehacro: Isplati li se uzet apple watch ili pak neki drugi smartwatch da gledam
  • Junuz: Yonkis, još 4 zadaće i lakiranje klupa po oprobam.Izgleda čekam radni dan da odmorim.
  • Yonkis: Jel’ upalilo?
  • Junuz: Hvala
  • Yonkis: Evo ovdje Junuz [link]
  • Yonkis: @Junuz pošaljem ti poruku ali možeš otvoriti i novu temu u Forumu
  • Riba: Junuz, pisi u forum.
  • Junuz: Pozz, zna li neko kako da deinstaliram apple int u os u 27 (MacBook neo).Bespotrebno mi je zauzeto 20 GB
  • CoffeePod: [link]
  • CoffeePod: Pokrenuo sam subreddit za Apple HR
  • Yonkis: Apple Intelligence Taking Up 30GB on Some Macs Running macOS 27
  • Yonkis: 1 i 2TB iPhonei su sporiji tj koriste sporiju memoriju nego 256 i 512GB [link]
  • Yonkis: Novosti od Applea: [link]
  • mbp2009: meni je odmah nakon updatea na 27 rc baterija dosta bolje
  • Yonkis: CoffeePod - drži ga prikopčanog na punjaču, bez LowPowerModea. I što manje ga koristiti, prčkati po iPhoneu.
  • Yonkis: navodno prijašnja 2 updatea, 26.5.1 je već započeo pripremu indexiranja, 26.5.2 popravio bug da se update može skinuti preko non-WiFi mreže, a indexiranje može potrajati 2-3 dana, ovisi o količini aplikacija i podataka
  • CoffeePod: iOS27 fenomenalan. Baterija loša dok se ne indexira
  • ping: Kad klikneš na tipku odaberi kod iPhone DUO. Na kratko se pojavi cijena. 999.999,99 €
  • Yonkis: Nisu se još usaglasili koliko bubrega će koštati. 6 ili 9, a možda čak i 11.
  • stefanjos: jel tako tesko istyleu cijenu izbaciti za duo. haha mislim nije mi zivotne vaznosti
  • Borisone: Iako je puni broj, update nije tako značajan kao prošlih godina. Da nema Siri AI (za neka tržišta, ne i naše) ne bi imali o čemu pisati.
  • Yonkis: Jel’ se netko ažurirao na iOS 27?
  • stefanjos: to im je goalgetter pa su trebali
  • Borisone: Čudno da je samo Apple TV stigao. Obično regionalno postane dostupan s još nekim od Apple media servisa (One, Books, ...)
  • CoffeePod: Zna neko kako dobit novu siri na Golden Gate?
  • CoffeePod: Uf odmah sam se pretplatio!
  • Pongy75: Bez HR titlova
  • matijazx: Apple TV je stiglaaaa
  • mbp2009: Reduce transparency zapravo ukloni veliku vecinu tog. Jos ima taj stakleni dio na npr semaforu, ali ukloni se transparentnost opcenito
  • mbp2009: lijepo to sve izgleda, ali generalno mi se cini da trosi bateriju ipak vise
  • mbp2009: instalirao sam ja, iskreno, malo je dosadno pa sam skratio i stavio ono reduce transparency

Za vikanje moraš biti prijavljen.

Prijava

Novo na Jabučnjaku

Teme

Poruke

Oglasi

Komentari

Anketa

Koji Mac koristite?

Page Speed 0.61 Seconds

Provided by iJoomla SEO