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

Hello, world, ali ozbiljno

[es] :: C/C++ programiranje :: Hello, world, ali ozbiljno

Strane: 1 2 3

[ Pregleda: 6566 | Odgovora: 53 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

djoka_l
Beograd

Član broj: 56075
Poruke: 3453

Jabber: djoka_l


+1462 Profil

icon Re: Hello, world, ali ozbiljno26.08.2023. u 11:12 - pre 8 meseci
Nisam mogao da koristim VS comunity verziju zbog licencnih ograničenja (broj zaposlenih i ukupan prihod), a nije baš da bi firma platila licencu za programče od 25 linija.
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16687
..92bb:4780:482:5456:38b2:e855



+7177 Profil

icon Re: Hello, world, ali ozbiljno26.08.2023. u 11:24 - pre 8 meseci
Trebalo bi sve da radi i iz MinGW okruzenja, mozda ces morati manuelno da linkujes manifest, ali sve ostalo vazi - koristi ANSI verzije Win32 API-ja i ne bi trebalo da imas problem (osim ako ne citas iz stdin-a) ako je setovana UTF-8 kodna strana.
DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos: http://www.digicortex.net/node/17 Gallery: http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! - https://github.com/psyq321/PowerMonkey
 
Odgovor na temu

kosmopolita
Balkan

Član broj: 257864
Poruke: 123



+21 Profil

icon Re: Hello, world, ali ozbiljno26.08.2023. u 12:01 - pre 8 meseci
Citat:
Ivan Dimkovic:
Pricas o monospace fontovima, ali ne vidim kakve veze monospace fontovi imaju sa Nedeljkovim pitanjem koje se tice Unicode podrske.

Monospace fontovi savrseno podrzavaju Unicode karaktere.



Primer 🎁 koji se kuca sa alt+127873 imaju fontovi "Segoe UI Emoji" i "Segoe UI Symbol".
Ovi fontovi nisu monospace i nisu na listi za izbor u konzoli a ni PS.

Svi drugi karakteri koji imaju izbarani monospace font mogu da se koriste i kao unikod.
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16687
..92bb:4780:482:5456:38b2:e855



+7177 Profil

icon Re: Hello, world, ali ozbiljno26.08.2023. u 12:20 - pre 8 meseci
https://stackoverflow.com/ques...ompt-windows-powershell-window

Citat:

Modern Windows programs should be using the Unicode console functions, WriteConsoleW and ReadConsoleW. Then the only limits are the console's inherent limits with Unicode, i.e. limited to the basic multilingual plane; no support for complex scripts and combining codes; and no support for font fallback if the selected font doesn't have a glyph for a character. Ultimately Microsoft may update the classic console host to remove these limits by switching to a DirectWrite-based implementation, but for now their (and open-source contributors') efforts are focused on the new Windows terminal.


https://stackoverflow.com/ques...ows-command-line/388500#388500

Citat:

Console font rendering supports only Unicode characters in BMP (in other words: below U+10000). Only simple text rendering is supported (so European — and some East Asian — languages should work fine — as far as one uses precomposed forms). There is a [minor] fine print here for East Asian and for characters U+0000, U+0001, U+30FB.]


Citat:

One should also keep in mind that the “alternative, ‘more capable’ consoles” for Windows are not consoles at all. They do not support Console-I/O APIs, so the programs which rely on these APIs to work would not function. (The programs which use only “File-I/O APIs to the console file handles” would work fine, though.)

One example of such non-console is a part of Microsoft’s PowerShell. I do not use it; to experiment, press and release the Windows key, and then type powershell.



DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos: http://www.digicortex.net/node/17 Gallery: http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! - https://github.com/psyq321/PowerMonkey
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

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



+2790 Profil

icon Re: Hello, world, ali ozbiljno27.08.2023. u 14:02 - pre 8 meseci
Ivan je u pravu u vezi razdvajanja ovih stvari od fontova.

Ono što se u C-u zapisuje kao stdin, stdout i stderr su objekti u memoriji, pri čemu svako proces ima svoje stdin, stdout i stderr, i koji nisu vidljivi na ekranu.

Ako proces P napravi proces C, onda je proces P roditelj procesa C, a proces C je dete procesa P. U tom slučaju, proces P može da upiše nešto u stdin procesa C, kao i da očitava stdout i stderr procesa C.

Konzola ili terminal, kao što je na Windows-u Command Prompt (cmd.exe) je program koji ima nekakav korisnički interfejs i nudi korisniku mogućnost da izdajen neke komade koje konzola izvršava.

Pritom, korisnik može da izda, na primer, komandu za pokretanje nekog procesa sa nekim argumentima. U tom slučaju, konzola pravi odgovarajući proces (Win32 API funkcija koju konzola kao program poziva je PrecessCreate). Pošto je to dete proces od konzole, konzola može da mu unos od korisnika prosledi na stdin, kao i da očitava njegove stdout i stderr i da taj izlaz prikazuje korisniku.

Taj korisnički interfejs (za unos od strane korisnika i prikazivanje korisniku) zahteva neke fontove, ali oni nemaju veze sa pojmovima standardnog ulaza (stdin), standardnog izlaza (stdout) i izlaza za greške (stderr).

Ukoliko konzola iz bilo kog razloga ne podržava slanje nekih znakova procesu, stdin procesa to neće dobiti bez obzira na fontove.

Isto tako se može koristiti i preusmeravanje (redirection) nekog fajla u stdin, kao i preusmeravanje stdout odnosno stderr u neki fajl. Ovo poslednje uz brisanje tog fajla na početku ili uz dodavanje na kraj zatečenog sadržava fajla, a prema izboru korisnika (da li je otkucao > ili >>).

Takođe, moguće je i pokretanje više procesa u cevi (pipe), pri čemu konzola prosleđuje sadržaj (prihvaen od strane korisnika ili iz fajla) na stdin prvog procesa u nizu i očitava stdout i stderr od poslednjeg procesa u nizu (koji prikazuje korisniku ili preusmerava u fajl). U tom slučaju je svakom procesu u nizu, sa izuzetkom prvog, stdin jednak stdout-u prethodnog procesa u nizu.

Konzola se obično odnosi na nekakvu ljusku, odnosno skript jezik koji omogućava i ovakve komande.

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

kosmopolita
Balkan

Član broj: 257864
Poruke: 123



+21 Profil

icon Re: Hello, world, ali ozbiljno27.08.2023. u 15:13 - pre 8 meseci
Najjedostavniji nacin da se proveri sta prikazuje je preimenovanje nekog direktorijuma (foldera).
Sa dir u comandnoj liniji se moze videti sta prikazuje a sta ne.

Nadam se da Ivan nece nastaviti da daje savete :) a mene je interesovalo ima li nesto novo i propustam li nesto.
Citati koje je stavio Ivan su mi dovoljni i hvala mu na tome.
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16687
2a02:a212:92bb:4780:cf8:edc:..



+7177 Profil

icon Re: Hello, world, ali ozbiljno27.08.2023. u 16:14 - pre 8 meseci
Ehm, postoji poseban problem sa ulazom a ne (samo) sa prikazivanjem. To je vise problema, ne jedan.

Sumnjam da ce MS to popraviti, oni su i ovako i onako fokusirani na PowerShell a sada kada je WSL2 integralni deo Windows-a, ljudima sa specificnim potrebama je i ovako i onako lakse da te stvari implementiraju u Linuxu koji je sad vise nego dobro podrzan unutar samog Windowsa.
DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos: http://www.digicortex.net/node/17 Gallery: http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! - https://github.com/psyq321/PowerMonkey
 
Odgovor na temu

kosmopolita
Balkan

Član broj: 257864
Poruke: 123



+21 Profil

icon Re: Hello, world, ali ozbiljno27.08.2023. u 17:03 - pre 8 meseci
Nedeljko je napisao da je Ivan u pravu a nije se izjasnio oko WSL.
Inace ja vec koristim ubuntu u wmware.

Ovo sam dodao da neko ne pomisli (ako je to bitno uopste) da sam samo za Windows.
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16687
2a02:a212:92bb:4780:463:15dd..



+7177 Profil

icon Re: Hello, world, ali ozbiljno27.08.2023. u 18:50 - pre 8 meseci
VMWare je OK, ali posto je Windows od skora i u desktop verzijama virtualizovan tj. dolazi sa Hyper-V particijom i ovako i onako (HVCI - Hypervisor-Protected Code Integrity), manji je overhead startovati jos neku Hyper-V masinu nego 'nested' virtualizacija sa VMWare-om onda.

WSL2 koristi nesto sto oni zovu "lightweight" virtuelna masina (verovatno osisana od nekih nepotrebnih stvari) - trebalo bi da se startuje jos brze od "pune" Hyper-V masine.

Na zalost, to sa sobom nosi i neka ogranicenja - npr. WSL2 ne vidi vise od 64 procesorska jezgra i jednog fizickog socket-a, cak i ako rekompajlirate kernel sa drugim max parametrima. Verovatno je vezano za tu "lightweight" konfiguraciju. Ko hoce vise, ne gine pun VM.
DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos: http://www.digicortex.net/node/17 Gallery: http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! - https://github.com/psyq321/PowerMonkey
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

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



+2790 Profil

icon Re: Hello, world, ali ozbiljno27.08.2023. u 18:50 - pre 8 meseci
WSL slabo radi. Koristio sam, ali džaba. Radije bih koristio Linux u virtuelci. Nije do performansi, nego do mogućnosti. Probaj da instaliraš na primer kate. Takođe, gde su KDE džidža-bidže?

[Ovu poruku je menjao Nedeljko dana 27.08.2023. u 21:49 GMT+1]
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16687
..2bb:4780:300a:5fbd:e3d5:eaba



+7177 Profil

icon Re: Hello, world, ali ozbiljno29.08.2023. u 13:15 - pre 8 meseci
Citat:
Nedeljko
Probaj da instaliraš na primer kate.






DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos: http://www.digicortex.net/node/17 Gallery: http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! - https://github.com/psyq321/PowerMonkey
Prikačeni fajlovi
 
Odgovor na temu

mjanjic
Šikagou

Član broj: 187539
Poruke: 2712



+700 Profil

icon Re: Hello, world, ali ozbiljno29.08.2023. u 14:25 - pre 8 meseci
Koliko se sećam nekog tutorijala u kome se koristi konzola (powershell i druge), autor je napomenuo da standardna Win konzola (cmd.exe) ne podržava neke stvari zbog kompatibilnosti unazad, ali kada se sa Win Store skine isti taj CMD, onda podržava neke stvari kojih nema u onom koji dođe uz standardnu Win instalaciju.
Međutim, ja nigde nisam video tu verziju Windows CMD, samo npr. Windows Terminal, što nije isto, jer on koristi Powershell ili CMD da omogući više konzolnih prozora u tabovima i sl.

Uglavnom, mislim da je kod Win i dalje UTF-16 podrazumevan interno kod sistemskih aplikacija, verovatno im nije problem da to promene u UTF-8, ali ne žele zbog - naravno, zbog kompatibilnosti unazad.
Blessed are those who can laugh at themselves, for they shall never cease to be amused.
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16687
..2bb:4780:300a:5fbd:e3d5:eaba



+7177 Profil

icon Re: Hello, world, ali ozbiljno29.08.2023. u 16:12 - pre 8 meseci
Windows (NT) Kernel API je od samog starta "wide char" i generalno indiferentan na encoding posto jako malo operacija uopste zavisi od toga. Ne treba gubiti iz vida da je sam Windows kernel API (ilI NT OS/2 API kako se zvao u pocetku) stariji od Unicode-a. Srecom, u kernel svetu gde zivi dosta drajvera to nije vazno posto generalno vecina sistemskih poziva radi sa baferima i ne zanima ih previse njihov sastav. Fajl sistemi su druga prica i tu ima zackoljica*

Userland API tj. Win32 API je na NT-u uvek imao 2 varijante: "Wide char" koji se cesto nazivaju "Unicode" (vrlo neprecizno) verzije - tipa CreateWindowW, i ANSI verzije tipa CreateWindowA koje su takodje mogle da 'razumeju' lokalizaciju setovanjem odgovarajuce kodne strane.

Microsoft je dosta vremena radio na UTF-8 'kodnoj strani' (65001) koja je u Win 10 1903 konacno izasla iz bete - kada Win32 "ANSI" aplikacija ima UTF-8 kodnu stranu, to signalizira OS API-ju da aplikacija koristi UTF-8.

(*) Ali... to nije cela prica. Cela prica je drasticno komplikovanija i prevazilazi okvire ove teme, za pocetak: imena fajlova koja nisu bila kompletno UTF-16 kompatibilna (Microsoft-ov tretman je imao i ime WTF-8 - https://simonsapin.github.io/wtf-8/) i koja su posledica odluka donesenih kasnih 90-tih. Novije verzije Windowsa ne dozvoljavaju neke stvari koje su bile "legalne" u ranijim revizijama tipa NT4, ali to nije garancija da neko nece naleteti na fajl sisteme kreirane sa tim verzijama OS-a. Ogranicenja konzole u pogledu ulaza su jos jedan primer.

--

Linux je imao drugaciju istoriju, ali kao sto rekoh, pocetne verzije onoga sto je postalo Windows NT su starije od Unicode-a, i sam NT je bio medju ranim OS-evima koji su implementirali Unicode (prvo UCS-2, a kasnije UTF-16) - pre nastanka UTF-8.
DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos: http://www.digicortex.net/node/17 Gallery: http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! - https://github.com/psyq321/PowerMonkey
 
Odgovor na temu

kosmopolita
Balkan

Član broj: 257864
Poruke: 123



+21 Profil

icon Re: Hello, world, ali ozbiljno29.08.2023. u 18:07 - pre 8 meseci
Mozda postoji Linux koji bi u WSL radio isto ili samo ono sto radi cmd a da ima i utf-8.
 
Odgovor na temu

kosmopolita
Balkan

Član broj: 257864
Poruke: 123



+21 Profil

icon Re: Hello, world, ali ozbiljno29.08.2023. u 18:40 - pre 8 meseci
Postoji ovo:

Until and including version 20.04 LTS there is (was) also the Ubuntu mini.iso that could install a minimal command-line system.
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16687
..2bb:4780:300a:5fbd:e3d5:eaba



+7177 Profil

icon Re: Hello, world, ali ozbiljno29.08.2023. u 20:12 - pre 8 meseci
Po defaultu, WSL2 distribucije su 'minimalne' u smislu da ne dolaze sa grafickim okruzenjima i sl. - prakticno shell jeste default.

Evo sta je trenutno dostupno na Windows Store-u:

Code:

NAME                                   FRIENDLY NAME
Ubuntu                                 Ubuntu
Debian                                 Debian GNU/Linux
kali-linux                             Kali Linux Rolling
Ubuntu-18.04                           Ubuntu 18.04 LTS
Ubuntu-20.04                           Ubuntu 20.04 LTS
Ubuntu-22.04                           Ubuntu 22.04 LTS
OracleLinux_7_9                        Oracle Linux 7.9
OracleLinux_8_7                        Oracle Linux 8.7
OracleLinux_9_1                        Oracle Linux 9.1
openSUSE-Leap-15.5                     openSUSE Leap 15.5
SUSE-Linux-Enterprise-Server-15-SP4    SUSE Linux Enterprise Server 15 SP4
SUSE-Linux-Enterprise-15-SP5           SUSE Linux Enterprise 15 SP5
openSUSE-Tumbleweed                    openSUSE Tumbleweed


Moguce je dodati i druge rucno, ima tutoriala kako.
DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos: http://www.digicortex.net/node/17 Gallery: http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! - https://github.com/psyq321/PowerMonkey
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

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



+2790 Profil

icon Re: Hello, world, ali ozbiljno30.08.2023. u 01:19 - pre 8 meseci
Da, stvarno, kate radi i kod mene, "samo" što mu treba 25 sekundi da se pokrene.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

kosmopolita
Balkan

Član broj: 257864
Poruke: 123



+21 Profil

icon Re: Hello, world, ali ozbiljno30.08.2023. u 07:17 - pre 8 meseci

Evo ovo kao dopuna:

DOSBox-X 0.83.21 Release Notes

Support for viewing Unicode (UTF-8 or UTF-16) documents in the shell

DOSBox-X now supports UTF8 and UTF16 commands, which allow to convert UTF-8 and UTF-16 encoded text to view in the current code page, including both SBCS and DBCS code pages. For example, the command “UTF8 < UTF8TEXT.TXT” will output converted text UTF8TEXT.TXT in the current code page, and for UTF16 command there are optional /BE & /LE options to specify endianness.
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16687
..2bb:4780:300a:5fbd:e3d5:eaba



+7177 Profil

icon Re: Hello, world, ali ozbiljno30.08.2023. u 08:39 - pre 8 meseci
@Nedeljko,

Kasnjenje verovatno dolazi zbog startovanja grafickog podsistema (mada, kod mene se kate startuje prvi put za ~3s, posle toga za ~1.5s sto je ipak drasticno bolje od neprihvatljivih 25s, bilo bi interesantno videti zasto mu toliko treba na tvojoj masini), sam WSL2 je zadovoljavajuce brz (https://www.phoronix.com/review/windows11-wsl2-good) - za konzolne stvari je odlican kao i za npr. CUDA testiranje u domenima gde je Linux dominantna platforma (naucne i HPC npr.).

Bar meni, najveca ogranicenja su vezana za samu WSL2 virtuelnu masinu (ne vidi vise od 1 fizickog CPU socketa, ne vise od 64 CPU jezgra i nije u stanju da napravi vNUMA konfiguraciju) - verujem da moze da se konfigurise da iz prve startuje X i ubrza startovanje grafickih aplikacija ali ove druge limitacije ostaju.

Glavni 'use case' je za korisnike koji primarno rade iz Windows-a ali im treba i Linux (za vec pomenute naucne / HPC aplikacije recimo) ili jako dobro integrisan sa Windows radom ili se zahteva GPU akceleracija u Linuxu u isto vreme u kom slucaju je integracija jako dobra ako je u pitanju NVIDIA i bolja od obrnute varijante gde bi Linux sa KVM-om bio glavni OS - za potpunu hw.-ubrzanu grafiku je u tom slucaju neophodno uraditi kompletan GPU "passthrough" u KVM-u sto GPU cini onda nedostupnim u samom Linuxu.

Za ostalo, YMMV.

Inace, ako ste kupili neki relativno novi laptop koji dolazi sa Windows 11 OS-om, velike su sanse da je "iz fabrike" konfigurisan da trci u hipervizoru (OS koristi specijalnu particiju za dodatni nivo zastite) - u kom slucaju je WSL2 "besplatan" u kontekstu performansi (jos jedan HV "gost"), cak nije potrebna ni instalacija celog Hyper-V okruzenja posto je MS izdvojio neophodne komponente kao deo samog OS-a i "Virtual Machine Platform" opcioni feature koji je neophodan za WSL2. Da li je to slucaj se moze proveriti sa npr. HWInfo-om koji ce na glavnom ekranu to prijaviti:



Takodje, WSL2 virtuelne masine koriste dinamicku memoriju - sto znaci da nece "zauzeti" neku fiksnu kolicinu i 'uzeti' je od drugih OS-eva permanentno.

DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos: http://www.digicortex.net/node/17 Gallery: http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! - https://github.com/psyq321/PowerMonkey
Prikačeni fajlovi
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

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



+2790 Profil

icon Re: Hello, world, ali ozbiljno30.08.2023. u 13:01 - pre 8 meseci
Kod mene uvek 23 sekunde.

Upalim ununtu WSL2 na Win11.

Upalim kate, 23s.
Ugasim kate (WSL2 ostane upaljen) i pokrenem kate, pokretanje traje 23s.


Ugasim kate (WSL2 je i dalje upaljen).
Upalim kate sa "kate &" tako da mogu da kucam u konzoli dok je kate upaljen - 23s.
Upalim drugi kate pored tog prvog - 23s.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

[es] :: C/C++ programiranje :: Hello, world, ali ozbiljno

Strane: 1 2 3

[ Pregleda: 6566 | Odgovora: 53 ] > FB > Twit

Postavi temu Odgovori

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