Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kod koji daje neočekivani rezultat

[es] :: Art of Programming :: Kod koji daje neočekivani rezultat

Strane: << < .. 7 8 9 10 11 12 13 14 15 16 ... Dalje > >>

[ Pregleda: 107895 | Odgovora: 337 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dejanet
Beograd

Član broj: 19240
Poruke: 1181



+835 Profil

icon Re: Kod koji daje neočekivani rezultat13.07.2020. u 11:08 - pre 45 meseci
^ Tako je, win32 api je stop za bilo kakvo razmisljanje o cross platform portiranju, tako da za win forms(.NET) mrka kapa.

Mislim da ce ms$ probati za par godina preko web assembly tj blazora, ali je za sada to na dugom stapu.
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.dynamic.isp.telekom.rs.



+2789 Profil

icon Re: Kod koji daje neočekivani rezultat13.07.2020. u 16:55 - pre 45 meseci
Nije nikakav stop. Lako ga je apstrahovati u obliku nekog omotača, koji može da bude cross platform, a i ne mora.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

dejanet
Beograd

Član broj: 19240
Poruke: 1181



+835 Profil

icon Re: Kod koji daje neočekivani rezultat13.07.2020. u 17:10 - pre 45 meseci
Mozda je lako napraviti interface, ali je druga prica za njegovu implementaciju, jer ne postoje win ekvivalentne funkcije u linux kernelu i obrnuto.
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.dynamic.isp.telekom.rs.



+2789 Profil

icon Re: Kod koji daje neočekivani rezultat13.07.2020. u 17:53 - pre 45 meseci
Interfejs opisuje prirodu problema. Onda se on implementira na svakom sistemu posebno. Program se onda oslanja na interfejs.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12846



+4783 Profil

icon Re: Kod koji daje neočekivani rezultat13.07.2020. u 20:05 - pre 45 meseci
Citat:
dejanet: Mislim da ce ms$ probati za par godina preko web assembly tj blazora, ali je za sada to na dugom stapu.


Verovatno ce praviti nekog electron-like monstruma.
Ono sto bih ja voleo videti je cross-platform WPF al' slaba sansa.
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.dynamic.isp.telekom.rs.



+2789 Profil

icon Re: Kod koji daje neočekivani rezultat13.07.2020. u 21:18 - pre 45 meseci
A šta su prednosti WPF-a? Brže radi us loženim slučajevima zbog zamene GDI-ja DirectX-om i korišćenje istih komponenti az desktop i web?
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

mjanjic
Šikagou

Član broj: 187539
Poruke: 2679



+690 Profil

icon Re: Kod koji daje neočekivani rezultat14.07.2020. u 08:37 - pre 45 meseci
Možda je mislio za već postojeće aplikacije, kao i programere koji rade za Win platofrmu, a sad bi postali konkurentni i na Linux-u. To ne bi trebao da bude toliki problem, Linux već ima npr. Wine, kad bi se MS uključio, mogao bi da realizuje 100% kompatibilnost, ali čemu onda Windows, svi bi pobegli od Win10.
Blessed are those who can laugh at themselves, for they shall never cease to be amused.
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
82.117.201.26



+1064 Profil

icon Re: Kod koji daje neočekivani rezultat14.07.2020. u 09:36 - pre 45 meseci
Mislim da M$ zeli da privuce Linux programere definitivno, ali ne zeli da odvuce Windows programere na Linux :P
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12846



+4783 Profil

icon Re: Kod koji daje neočekivani rezultat14.07.2020. u 09:39 - pre 45 meseci
Pa, ja sam to rekao iz skroz licnog razloga, ne kao neko opste dobro*. Meni se taj framework svidja. Ima svoje mane ali sveukupno gledano mi je se svidja kako radi, kako se radi razvoj desktop aplikacija u njemu, sveobuhvatnost (od low-level grafike, preko 3D-a do konkretnog UI-a).
Sto se cisto tehnickih razloga tice, necu reci prednosti jer bi to znacilo u odnosu na nesto a svakako postoje tehnologije koje imaju nesto od toga, ali dobre strane su mu to sto je (vecinom) u pitanju vektorska grafika, sto koristi graficku akceleraciju (u trenutnoj implementaciji DirectX), layout sistem koji ima, sistem sa content controls i items controls**, data binding, x(a)ml kao jezik za UI, itd. Stilovi su, imho, bolje uradjeni nego kod html/css-a.

Ono sto bih ja voleo da vidim je da MS odvoji WPF od DirectX-a vec da napravi sistem da se render moze implementirati na razlicitim grafickim API-evima i da se ili pri build-u ili, jos bolje, tokom izvrsavanja moze odrediti koji ce se koristiti. Onda se mogu napraviti implementacije rendera na OpenGL-u koji je vec cross-platform, dok i sam WPF moze raditi sa .NET Core-om a krajem godine sav .NET ionako ide na Core pa ce taj deo biti multi-kulti anyway.


*Iako bi verovatno bilo, bez ovog UWP bauljanja po mraku gde vec godinama ne mogu da se odluce sta hoce (i sta nece).

**Imas mogucnost da kao sadrzaj jedne kontrole stavis bilo sta, drugu kontrolu, grafiku, tekst... Za Items tip kontrole imas mogucnost definisanja izgleda item-a pa mozes imati ListBox koji npr. prikazuje listu kontakata gde je svaki kontakt prikazan sa slikom, imenom, godistem i dugmicima edit/delete. Kreiranje takvih stvari je uniformno kroz xaml.

 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
82.117.201.26



+1064 Profil

icon Re: Kod koji daje neočekivani rezultat14.07.2020. u 09:53 - pre 45 meseci
Citat:
mjanjic:
FF postoji za različite platforme, ne znam koliko su zajedničkog C++ koda imale verzije za različite platforme, a koliko kod Rust-a.

Ono, kad bi se bar kod svih OS-ova uniformisao API što se tiče osnovnih elemenata GUI-a (prozor, meni, osnovne kontrole, itd.), tj. da nazivi API metoda i parametri budu isti, ili da bar postoji neki prevodilac između različitih platformi.
S obzirom na rast popularnosti .NET Core kad bi dodali mogućnost kreiranja makar elementarnog GUI-a na različitim platformama, ali to bi zahtevalo različite implementacije tih delova biblioteke na različitim platformama, što otežava dalji razvoj, a i vidim da su kod .NET Core 5 planirali da integrišu Xamarin. Međutim, kako je kod .NET Core 3 dodata mogućnost kreiranja Win formi (tj. Win GUI aplikacije), sa naglaskom da to za sada radi samo na Windows-u, možda je u planu da u nekoj budućoj verziji dodaju tu mogućnost za Linux i MacOS.

Eto, možda sam sabajle jutros malo nalupetao nekih stvari koje se neće ostvariti, ali nikad se ne zna sa MS-om. Ako naprave .NET Core verziju sa kojom može da se kreira normalan GUI na različitim platformama (ne Xamarin forms), C# će postati još popularniji.


Mislim da .net moze biti interesantan samo nekome ko ima kod u tome pa hoce da radi i na OSX i na Linux-u.
Mikrosoftu svakako da ne odgvora da GUI radi na Linux-u.
 
Odgovor na temu

dejanet
Beograd

Član broj: 19240
Poruke: 1181



+835 Profil

icon Re: Kod koji daje neočekivani rezultat14.07.2020. u 11:17 - pre 45 meseci
MS$-ov glavni biznis je sada cloud, u tom smislu su zainteresovani da sto vise ljudi pici po NET Core, jer to implicira veci broj narudzbi Ažure instanci. Naravno ima dosta i sekundarnih ciljeva, kao sto je veci user base za testiranje itd.

Sto se desktopa, odgovorio sam gore, znaci moze neki ciri bu, ciri ba, kao sto je Xamarin koji prevodi "template" u platform speficni kod. Cak za macOS moras da radis build na mac-u.
Druga varijanta je "Electron like monstrum" kao sto je spomenuto, znaci chromium ili slicno kao render.
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.dynamic.isp.telekom.rs.



+2789 Profil

icon Re: Kod koji daje neočekivani rezultat14.07.2020. u 12:05 - pre 45 meseci
Da se vratimo na temu:

Šta radi ovaj kod, kompajliran 32-bitnom verzijom MinGW-a na Windows-u):

Code (cpp):

class A
{
public:
    int *x;

    A() { x = new int(5); }
    ~A() { delete x; }
};

int main() {
    thread_local A a;

    return 0;
}
 

Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
82.117.201.26



+1064 Profil

icon Re: Kod koji daje neočekivani rezultat14.07.2020. u 14:51 - pre 45 meseci
VS2017 poziva konstruktor A pa destruktor A. mingw nemam.

edit:
i g++ na Manjaru isto daje.

[Ovu poruku je menjao Branimir Maksimovic dana 14.07.2020. u 16:16 GMT+1]
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.dynamic.isp.telekom.rs.



+2789 Profil

icon Re: Kod koji daje neočekivani rezultat14.07.2020. u 16:20 - pre 45 meseci
Ima na jednoj drugoj temi u forumu za C/C++.

Program puca prilikom završetka rada.

Otkači pre vremena neki dll u kome se nalazi funkcija free() potrebna za delete.

To se dešava samo sa MinGW kompajlerom i samo za thread_local static objekte čiji destruktor ima neki free()/delete ili sličnu funkciju.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.dynamic.isp.telekom.rs.



+2789 Profil

icon Re: Kod koji daje neočekivani rezultat17.07.2020. u 12:15 - pre 45 meseci
Evo o čemu pričam:


Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
Prikačeni fajlovi
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.dynamic.isp.telekom.rs.



+2789 Profil

icon Re: Kod koji daje neočekivani rezultat17.07.2020. u 17:56 - pre 45 meseci
To se ne dešava sa MinGW-w64. Radi se o bagu u jednom određenom kompajleru, koji dugo nije ispravljen.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.dynamic.isp.telekom.rs.



+2789 Profil

icon Re: Kod koji daje neočekivani rezultat18.07.2020. u 09:22 - pre 44 meseci
Da se vratimo na temu.

Code (c):

double x = 0;
int y = x==-x;

printf("%s\n", y ? "jednako", : "razlicito");
 

Ovaj kod ispisuje "razlicito".
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1947
54.239.6.*

Sajt: stackoverflow.com/users/1..


+480 Profil

icon Re: Kod koji daje neočekivani rezultat18.07.2020. u 09:33 - pre 44 meseci
Na kojoj platformi/kompajleru? Koliko znam, negativna nula ima drugačiju reprezentaciju, ali je i dalje nula, tj. (0 == -0) == true.
Kod koji daje neočekivani rezultat (i koji sam nekoliko puta video :( ) je:

Code:
int main() {
double x = 0.;
double y = -0.;

printf("%s\n", memcmp(&x, &y, sizeof(double)) == 0 ? "jednako" : "razlicito");
}


 
Odgovor na temu

Branimir Maksimovic

Član broj: 64947
Poruke: 5534
109.72.51.23



+1064 Profil

icon Re: Kod koji daje neočekivani rezultat18.07.2020. u 09:45 - pre 44 meseci
Koliko znam, znak se beleži jednim bitom, pa ako je - 0.0 < 0.0,onda će i memcmp dati različito, no nisam se bavio tom egzotikom...
 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1947
54.239.6.*

Sajt: stackoverflow.com/users/1..


+480 Profil

icon Re: Kod koji daje neočekivani rezultat18.07.2020. u 10:02 - pre 44 meseci
Da, u IEEE754 reprezentaciji, jedan bit određuje znak i memcmp daje (ne)očekivani rezultat. Ovo se javlja kao problem, npr. pri optimizaciji poređenja vektora koji imaju floating-point elemente, gde naivan pristup sa memcmp daje pogrešan rezultat ili ukoliko se heširanje takvog vektora vrši kroz niz bajtova, umesto kroz vrednosti elemenata, itd.
 
Odgovor na temu

[es] :: Art of Programming :: Kod koji daje neočekivani rezultat

Strane: << < .. 7 8 9 10 11 12 13 14 15 16 ... Dalje > >>

[ Pregleda: 107895 | Odgovora: 337 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.