Pozdrav svima,
predpostavljam da ce se, ako vec i nije (jer nisam bio na zadnjim vjezbama), poceti raditi Sockets API. Na sluzbenim stranicama dana su odredjena [url=http://web.math.hr/nastava/mreze/linkovi.php]rjesenja[/url]za omogucavanje Sockets API-ja pod Windowsima, no drzim da su sva nepotrebna.
Mali, kratki i sazeti background citave price - iako je, logicno, win32 primarni environment subsystem na Windowsima, nije i *jedini*. Koncepcijski, od najranijeg doba razvoja NT dizajna, zamisljena i implementirana su tri environment - win32, POSIX i OS/2. Windowsi 2000 imaju poprilicno okrljasenu verziju POSIX i OS/2 subsystema sa on-demand loadingom (call sa odgovarajucim flagom u PE headeru) ali u NT 5.1+ isti su maknuti zbog security issueova; ipak, Microsoft nudi besplatan paket, tzv. Services for Unix.
Services for Unix
[url=http://technet.microsoft.com/en-us/interopmigration/bb380242.aspx]Technet[/url]
[url=http://www.microsoft.com/downloadS/details.aspx?familyid=896C9688-601B-44F1-81A4-02878FF11778&displaylang=en]Preuzimanje [217.6 MB][/url]
[url=http://en.wikipedia.org/wiki/Microsoft_Windows_Services_for_UNIX]Wikipedia[/url]
Sam paket je puno mocniji i (inter)operabilniji nego sto ova potreba zahtijeva, no svi potrebni libraryji i ostale sistemske datoteke koje bi vam mogle biti potrebne ukljucene su u paket. Paket je dostupan za gotovo sve recentnije NT-noidne sustave, kao i na Visti. Instalacija je prilicno jednostavna, a ako vas ostali paketi ne interesiraju i nisu vam potrebni (sto je vjerojatno stvar), potrebno je izabrati "Custom" instalaciju i odabrati samo "Interx GNU Components" te instalirati citav paket.
[URL=http://www.imagesforme.com/show.php/203247_sfuinstall1.png][img]http://www.imagesforme.com/out.php/t203247_sfuinstall1.png[/img][/URL]
Dakle, bitna napomena je da ovo *nije* nikakva emulacija ili bilo sto slicno kao sto su wine, cygwin i slicna rjesenja. Na Windowsima je takva mogucnost napravljena "by design", uvodjenjem koncepta nativnog subsystema (ntdll.dll). Takodjer, koliko primjecujem, sama procedura je laksa (sto po tehnickoj snalazljivosti, sto po "tezini" u preuzetim megabajtima), jedonstavnija i usudio bih se reci - bolja!
Umalo zaboravih - postoje odredjeni problemi na relaciji [url=http://en.wikipedia.org/wiki/Data_Execution_Prevention]DEP[/url] - gcc (i jos koji paketi Interxa, no za ovu pricu nije ni bitno); najjednostavnije rjesenje te ujedino i moja generalna preporuka (koja zapravo seze i dalje od ovog slucaja) je da DEP kao takav iskljucite jer se u velikom broju slucajeva predstavlja kao nepotrebno breme i niskoristi. [url=http://msdn.microsoft.com/en-us/library/ms791539.aspx]Ovdje[/url] je opisano kako se pozabaviti gasenjem istog (alwaysoff opcija). Ipak, ako nekome DEP znaci stogod u zivotu, [url=http://www.suacommunity.com/forum/tm.aspx?m=11769]ovdje[/url] je pak objasnjeno kako se pozabaviti real time gasenjem DEP-a za trenutno pokrenute procese (malo tricky, ali radi).
Evo jedan primjercic kako to zapravo radi:
[URL=http://www.imagesforme.com/show.php/203256_sfurezultat.png][img]http://www.imagesforme.com/out.php/t203256_sfurezultat.png[/img][/URL]
Kratak recap je - nativno, besplatno i jednostavno Windows rjesenje za vase Sockets API poduhvate pod Windowsima. Mozete zadrzati sav productivity set aplikacija (IDE i slicno) s Windowsa, samo imajte na umu da morate kompajlirati preko gcc-a u SFU paketu.
Ako se nekome ovo rjesenje ucini zgodnijim a naleti na probleme, forum posjecujem rijetko pa me hvatajte na bubba (at) banelli (dot) biz.
HTH,
Bubba
Pozdrav svima,
predpostavljam da ce se, ako vec i nije (jer nisam bio na zadnjim vjezbama), poceti raditi Sockets API. Na sluzbenim stranicama dana su odredjena rjesenjaza omogucavanje Sockets API-ja pod Windowsima, no drzim da su sva nepotrebna.
Mali, kratki i sazeti background citave price - iako je, logicno, win32 primarni environment subsystem na Windowsima, nije i *jedini*. Koncepcijski, od najranijeg doba razvoja NT dizajna, zamisljena i implementirana su tri environment - win32, POSIX i OS/2. Windowsi 2000 imaju poprilicno okrljasenu verziju POSIX i OS/2 subsystema sa on-demand loadingom (call sa odgovarajucim flagom u PE headeru) ali u NT 5.1+ isti su maknuti zbog security issueova; ipak, Microsoft nudi besplatan paket, tzv. Services for Unix.
Services for Unix
Technet
Preuzimanje [217.6 MB]
Wikipedia
Sam paket je puno mocniji i (inter)operabilniji nego sto ova potreba zahtijeva, no svi potrebni libraryji i ostale sistemske datoteke koje bi vam mogle biti potrebne ukljucene su u paket. Paket je dostupan za gotovo sve recentnije NT-noidne sustave, kao i na Visti. Instalacija je prilicno jednostavna, a ako vas ostali paketi ne interesiraju i nisu vam potrebni (sto je vjerojatno stvar), potrebno je izabrati "Custom" instalaciju i odabrati samo "Interx GNU Components" te instalirati citav paket.
Dakle, bitna napomena je da ovo *nije* nikakva emulacija ili bilo sto slicno kao sto su wine, cygwin i slicna rjesenja. Na Windowsima je takva mogucnost napravljena "by design", uvodjenjem koncepta nativnog subsystema (ntdll.dll). Takodjer, koliko primjecujem, sama procedura je laksa (sto po tehnickoj snalazljivosti, sto po "tezini" u preuzetim megabajtima), jedonstavnija i usudio bih se reci - bolja!
Umalo zaboravih - postoje odredjeni problemi na relaciji DEP - gcc (i jos koji paketi Interxa, no za ovu pricu nije ni bitno); najjednostavnije rjesenje te ujedino i moja generalna preporuka (koja zapravo seze i dalje od ovog slucaja) je da DEP kao takav iskljucite jer se u velikom broju slucajeva predstavlja kao nepotrebno breme i niskoristi. Ovdje je opisano kako se pozabaviti gasenjem istog (alwaysoff opcija). Ipak, ako nekome DEP znaci stogod u zivotu, ovdje je pak objasnjeno kako se pozabaviti real time gasenjem DEP-a za trenutno pokrenute procese (malo tricky, ali radi).
Evo jedan primjercic kako to zapravo radi:
Kratak recap je - nativno, besplatno i jednostavno Windows rjesenje za vase Sockets API poduhvate pod Windowsima. Mozete zadrzati sav productivity set aplikacija (IDE i slicno) s Windowsa, samo imajte na umu da morate kompajlirati preko gcc-a u SFU paketu.
Ako se nekome ovo rjesenje ucini zgodnijim a naleti na probleme, forum posjecujem rijetko pa me hvatajte na bubba (at) banelli (dot) biz.
HTH,
Bubba
|