-
Fototrend
Új hozzászólás Aktív témák
-
coco2
őstag
Valami ilyesmi szintaktika lenne jó:
struct mystruc { string ktk, param; int f1, f2, f3, f4; }
static mystruc[] mylist= {
{type="ktk", param="surface", f1=75, f2=586, f3=14, f4=8 },
{type="zon", param="multidim", f1=4, f2=1300, f3=32, f4=5 } };Ami helyette van:
static string[,] mylist1= {
{ "ktk", "surface" },
{ "zon", "multidim" }};
static int[,] mylist2= {
{ 75, 586, 14, 8 },
{ 4, 1300, 32, 5 } };+kód
Az alsó esettel elboldogulok fapadosan, ahhoz nem kell semmi. Ha létezne a felső szintaktika, az lenne a "valami jobb".
-
Igen, hiszen az vegulis ket gep kozotti halozaton keresztuli megosztas. De ez vegulis pont azert van, mert a Linux nem valami magikus beepitett feature, hanem egy rendes Linux install + nemi tooling.
Csomo eszkoz mar tamogatja a remote developmentet, tehat pl. egy Windowson futo Visual Studio Code (vagy akar egy vim + LSP) tud dolgozni a WSL2-re kicsekkolt koddal.
-
pmonitor
aktív tag
De létezik. És sokkal többet is tud az én programocskámnál... Csak az én alkotásom ~50K, ez meg alsó hangon ~230M. Azért nagyon nem mind1.
Ennél(is) felmerül az a kérdés, hogy akkor most egy(vagy több) ilyen "monstrumot" használ a "programozó", amit 1 csuklómozdulattal beemel a projektjébe, vagy ír magának egyet(ha tud), amely nyilván kevesebbet tud. Cserébe viszont nem egy elefánt méretű. Mondjuk találtam 1 naudio.dll file-t(ez "csak" ~500K), de még nem néztem meg rendesen, hogy pontosan mit tud. Viszont ahogy ránéztem, ez csak wav és mp3 formátumot tud kezelni. Igazából azt nem értem, hogy a lejátszáshoz miért használná ennek a lejátszóját az emberke, amikor mciSendString() -el minden audio formátum lejátszható, minimális méretű binárissal(és ezt tartalmazza az OS, nem kell külön dll, vagy külső program)...
Igazából egy Audacity megfelelne, ha parancssorban is működne az editor része(de ezt egyrészt telepíteni kell, másrészt meg azért ez is ~70M). Szóval nem 1szerű megfelelő megoldást találni...
-
pmonitor
aktív tag
Úgy látszik, hogy meg lehet, csak egy kicsit bonyolultabban.
Waveditf.exe /del2 "d:\a.wav" 200000 200000
Ez a "d:\a.wav" file 200000-ik byte-jatól 0-ákkal tölti fel 200000 byte hosszban. Tehát teljes csend van ebben az intervallumban. Ezt sztem. nem tudja még bonyolultabban sem. Esetleg úgy, hogy van 1 olyan file-od, ami nagyon hosszan tele van 0-ákkal, és azt használod forrásnak.
De legalább valami van. Mondjuk az nagyon nagy előnye, hogy több típusú file-okat is kezel. Ez az enyémből nagyon hiányzik.
-
fatal`
titán
Minek?
Az SSH része a windowsnak egy ideje. De felrakhatsz egy gitet és annak is része lesz mingw-n keresztül, aztán sima parancssor. Még putty sem kell.
SSH miatt egy komplett linux alrendszert feltenni szerintem hulla felesleges.
#17730: Fejlesztéshez oké, de én sem látom mi értelme lenne mondjuk egy total commandert vagy egy bármilyen más sima desktop appot telepítő helyett konténerből futtatni.
Teljes agybaj lenne.
-
-
gordonfreemN
addikt
Úgy tudom nincs, de most próbálkozunk a Herreknél, hogy legalább akkor legyenek már jöfejek és küldjék el tételesen csak azt ami változott. Mert ez így elég nagy szívás.
Viszont ha nem adak akkor teszek egy próbát é is egy kérdést még majd megér. Én is arra sopánkodtam ma amúgy, hogy amiből dolgoznak vagy ami kimenti, meg kellene legyen ez más formátumban is.
Ebből a PDF-ből kb lehetetlen dolgozni.
-
gordonfreemN
addikt
huh, köszi a kimerítő választ. Úgy néz ki jó lett, végül sikerült excelben összehoznom (sajnos a cég ahol melózok, nem biztosít semmilyen valid szoftvert...).
Már csak abban bízom, a konverter nem tévedett és minden betűt átpakolt, mert csekkolnom kell a stücklistában, hogy ugyanaz az anyag hányszor szerepel. -
coco2
őstag
Igen, az a gondolat van fejlődőben továbbra is. Az ottani történet megoldása azóta az lett, hogy béreltem szervert, vettem win 10 kulcsot, és XP-k futnak program példányonként dedikáltan. Működni éppen működik, és most már így marad. Hanem a jövőre vonatkozóan jobb lenne, ha lehetne win 10 alatt nyersen futtatni, nem kellene fél tucat xp hozzá, csak azért, hogy minden program példánynak lehessen dedikált desktopja, mert anélkül nem tudok virtuálisan egér kurzorozni, meg klikkentési eseményeket küldeni (pláne nem adatokat beírni). Xp óta számos dolog szigorítva lett, win 10 alatt már ablakot előtérbe hozni sem tudok. Xp alatt működik utoljára.
Bérelt szerverre nem tudok USB-s eszközt dugni. Ha az járható út lenne, fognék valami pic boardot, és régen összeraktam volna. Zéró problémám lenne vele. Azt kellene kiváltani tisztán szoftveresen. File system nice, hanem nekem keyboard meg mouse kellene
Ha jól értettem, semmi épkézláb up-to-date dokumentáció nem létezik publikusan elérhetően?
-
pmonitor
aktív tag
Nem kellene, hogy minden programozó reggeltől estig az atoi-t(itoa-t) optimalizálja. De pl. az alap STL függvények optimalizálására eddig is több évtized állt rendelkezésre. Én mindenesetre büszke vagyok, hogy sikerült optimalizálnom, annak ellenére, hogy tisztában vagyok azzal, hogy ezzel nem váltottam meg a világot. De nagyon könnyű lebecsülni a szerepét. Főleg utólag. Nézzük, hogy mobal(tudomásom szerint az egyetlen, aki felvállalta magát, valamint több régi projektjét is megosztotta a nyilvánossággal) itt ezt írta:
>Vergődhetünk még itt de az atoi implementációnál 99%, hogy nem csinálsz jobbat
Nos, az 1% jött be. Én sem tudtam biztosan, hogy meg tudom csinálni, de nem adtam fel. És kovisoft konstruktív kritikáinak a segítségével végül is sikerült. De ezzel rámutattam arra is, hogy az STL függvények nem kőbe vésett, szent és sérthetetlenek. Legalábbis nem lenne szabad, hogy így tekintsünk rájuk. Jobb lenne, ha az STL függvényeit nem lehetne 90% futásidő alá optimalizálni. De ez az optimalizálás sem jelentené azt, hogy nem készülnének szoftverek. Mert az STL optimalizálásával csak pár (rendszer) programozót kötne le. A programozók több mint 99%-a nem ezzel foglalkozik/foglalkozna.
Egyébként én jobban örülnék, ha ez a "közösség"(ahogy sztanozs nevez titeket) több ilyen diskurzus eredményeképpen létrehozna új dolgokat. Olyanokat, ami szerintetek nem 120-ad rangú téma. Mert a kovisoft-al való diskurzusunk következtében létrejött 1 új dolog(produktum). És az általatok létrehozott(fontosabb témában alkotott) új produktumokat tudná alkalmazni más olvasó is. De sajnos a ti "közösségetek"(is) kódolási impotenciában szenved. Nemhogy új produktumot tudna létrehozni(nem 120-ad rangú témában).
Egy másik aspektusa a dolognak meg az, hogy ugyan szívesen emlegetitek az én atoi optimalizálásomat lekicsinylően, de pl. a Cutter programomat nem reklámozzátok így(a többi produktumomról nem is beszélve). Szóval jó lenne, ha ez az állítolagos "közösség" megmutatná, hogy nem csak rizsázni tud, hanem képes lenne vmi. új megalkotására. Ha ezt látnám, akkor hidd el, hogy nem hátráltatnám a "közösség" munkáját. -
pmonitor
aktív tag
-
pmonitor
aktív tag
Köszi a forrás útvonalát.
Az lehet, hogy a stabilitásra optimalizálják a library-kat, de a sebességgel ennyire nem foglalkoznak!? Mert itt nem 1-2 %-ról beszélek. Az adott kód futásideje nagyságrendileg egyharmadára csökken(illetve lehet csökkenteni). Ez sztem. nem nagyon fér bele abba, hogy "lehetőleg jó sebességgel tegyék".
>Te nyújtottál egy implementációt x86-ra
Sztem félreértetted. Amelyik hozzászólásomra válaszoltál, az már nem az általam assemblyben írt kódról szólt. Ez már arról szólt, hogy C-ben könnyen lehet jelentősen gyorsabb kódot írni pl. az itoa() esetében. A C kód meg minden támogatott architektúrán és rendszeren jó. Az zavarhatott meg, hogy az elején az általam asm-ben írt kódról volt szó.
De mind1. Már ezt is tudom, hogy a C library függvényei sem a sebességükről híresek. Ez van.
-
pmonitor
aktív tag
A ciklus módosításával:
for (i = 0; i < 1000000000; i++)
{
//sprintf(str, "%d", -2138);
itoa(-2138, str, 10);
//printf(str);
}Itt egy 0-t tettem a végére, úgyhogy azt a másik ciklusba is oda kell tenni. Így az itoa() kb. 22 sec., az int_ToString() kb. 14 sec. alatt fut le. Ez már lényegesen jobb, de azért egyértelműen gyorsabb ennél is az asm.
@dabadab:
>mondjuk lehet, hogy azért így is megverné ezt az assembly kódotNem haragszom meg, ha csinálsz jobb asm kódot.
-
pmonitor
aktív tag
>A fejlesztőeszköz munkaeszköz
Mondjuk ezért nem értem pontosan, hogy ez miért off téma?>Az a fejlesztő, aki HDD-re telepíti a
Ez elírás volt. Bocsi. De a disk I/O így is a szűk keresztmetszet a RAM-al szemben.
Az én vasam egyébként 2019-ben volt a felső kategória alsó határán(nem mintha ez valamit is jelentene). De sosem voltam híve az erőforrás pazarlásnak. Talán ezért zavar engem ennyire.@Ispy #16568: nekem 250 giga partíció van a rendszernek, és ennek kb. a 35%-át használom.
-
> Amíg valaminek nullánál nagyobb a valószínűsége, legyen az akármilyen alacsony ε is, addig nem lehet kijelenteni, hogy lehetetlen.
Pedig egyebkent jo ellenpelda az UUID. Veletlenszeruen generalt UUID-knel nem kell ellenorizni az utkozest, pedig 0-nal nagyobb a valoszinusege, hogy utkozik.
-
pmonitor
aktív tag
> olyat, hogy a kicsi valószínűsége, nem lehet kijelenteni és építeni sem lehet arra, hogy kicsi a valószínűsége.
Szóval szted. ez bekövetkezik:
1.: Indítasz egy X típusú alkalmazást, aminek Y a PID-je, és Z az elsődleges window HWND-je.
2.: Bezárod ezt az alkalmazást.
3.: Indítasz egy következő X típusú alkalmazást, S idő múlva.
4.: Ennek az X típusú alkalmazásnak ugyanúgy Y a PID-je, és Z az elsődleges window HWND-je.Erre azt mondod, hogy "gyakorlatilag be fog következni."?
Sztem. még az is majdnem lehetetlen, hogy Y lesz a PID-je ÉS Z lesz VALAMELYIK window HWND-je. És gondolj bele: ez még mindig nem ugyanaz az eset, mert ugye a Z HWND-vel az ELSŐDLEGES window-nak kell rendelkeznie(nem valami button-nak, vagy textbox-nak).
Na én erre azt mondom, hogy lehetetlen! Attól függetlenül, hogy nem tudom, hogy a Microsoft "milyen algoritmus szerint osztogatja a handle-öket és PID-eket Windowsban". -
coco2
őstag
Egy props file-t gyártottam direkt a környezeti változóra, ami kézileg van belegyógyítva a vcxproj-ba. Annak a file-nak a kezelésén filoztam éppen, és rábólintottam a #16356-ra (köszönöm!). Mostanra úgy van beállítva, és elég jó így is. Inkább nem írok át script-ből fordítási folyamatot. Macerásabb később a karbantartása mint statikus file-ok esetén.
-
pmonitor
aktív tag
>Ha az adott szövegfájl forráskódot, listát vagy markdownt tartalmaz, akkor teljesen más működést várnék el ugyanabban a programban egy ilyen funkciótól.
Pl. forráskód esetén az előző kijelölésnél kell erre figyelni, hogy a soremelés is kijelölt legyen.
Hogy kép esetén milyen algoritmussal végzi a szükséges átméretezést? Erre megkérdezném, hogy pl. a pdf szerkesztők milyen algoritmust használnak különböző méretű képeknél? Mindegyik szerkesztő másikat. Ez baj? Ki tudja. Mindenesetre ez sem egyforma. De a user a megszokott szerkesztőjét használja.
-
pmonitor
aktív tag
Notepad esetén a másolás+ csak a kijelölt szöveget teszi a szöveg mögé változtatás nélkül. Vagyis ugyanazt csinálja, mint a sima másolás, csak a végére teszi.
Képszerkesztő esetén természetesen folytatólagosan aláteszi a képet a szükséges átméretezésekkel.
De mégis több választás lenne ezekkel a funkciókkal, még ha programonként eltérő értelmezés lenne is. Nézd meg pl. az én programom nem is a win vágólapját használja, hanem a memória 1 területét. Ha sikerül a tervem véghez vinni, akkor meg 1 külön file-t használ majd.
Szerk: Még 1 példa: Sztem a Libreoffice sem tudja az Excel által a vágólapra helyezett bármilyen adatot felhasználni. Pedig mindegyik táblázatkezelő.
-
pmonitor
aktív tag
És meddig tartana azt a menüpontot inaktívvá tenni, ami nem értelmezhető? Pl. a szövegszerkesztőben, ha a vágólapon szöveg van, akkor csak a beillesztés aktív. A Másolás/Kivágás stb... inaktív. Mondjuk plain texten a "Beillesztés+" -nak kevésbé van értelme, de ez inaktívvá tehető.
Az összes audio/video/kép szerkesztőn értelmezhető valamennyi +-os funkció.
-
coco2
őstag
File elérési útban utf8 karaktert kell tudni kezelni. Win filerendszertől utf16 jön vissza, a wchar (short, utf16) még okésan kezelhető, de bemenetként egy libnek utf8-at kell megadnom. Nem lenne rossz, ha képernyőre vissza is írathatnám alkalmasint, amikor hibát keresek. Azért vacakolok vele.
Értsem úgy, hogy a printf()-nek van baja az utf8 kiírásával?
-
-
samujózsi
senior tag
Nem zavar.
Őszintén szólva nem is tudtam, hogy van ilyen, el voltam az integrált git kliensekkel (eclipse, pycharm), csak most a gist oldalon szembe jött egy "Save ... and use it in Github Desktop", amitől azt vártam volna, hogy letölti a gist file-t valamilyen formában, helyette kaptam az arcomba egy reklámnak is beillő letöltő oldalt (lásd fent), amin ott virít, hogy töltsem le windows-ra...---------------------------
Ha már git...
Van egy ~/.gitconfig fájlom, benne valódi név, hozzá tartozó mail cím.
Viszont ezt nem akarom a github-on viszontlátni.
Próbáltam az aktuális repo-ban kicserélni, de az csak hozzáad, a "globális" is megmarad a git config szerint. Plusz jó lenne a github számára létrehozott ssh kulcsot használni, de egyelőre csak olyan opciót találtam, hogy az ssh-t eleve úgy állítsam be, illetve, hogy használjam a megfelelő környezeti változót az ssh parancshoz. Olyan opció nincs, hogy a repo .git/config-ban adjam meg, hogy mely ssh identity-t akarom használni? -
samujózsi
senior tag
Na, azt hiszem, megvan a dolog lényegi része:
a make a target után indentálva írt sorokat a default vagy a beállított shellnek adja át.
De nem az egész blokkot egyben, hanem minden egyes sort külön shellben futtatva.
Ezért kap hülyét attól, hogy egy shell scriptben normálisan működő if-then-else szerkezetet próbálnék végrehajtatni vele, illetve ugyanez az oka, hogy ha az egyik sorban bekérek a read paranccsal egy választ, akkor a válasz tárolására használt változó tartalmát már nem érem el később.
Ha a fent bemutatott kódrészlet sorait ; \ karakterekkel zárom, akkor működik:test:
read -p "Are you sure? (YES/no) " answ ; \
if [ $${answ} = "YES" ]; \
then \
echo "OK" ; \
else \
echo "Abort" ; \
exit ; \
fi
Ez már azt csinálja, amit akartam. Csak kicsit soká tartott, mire ezt felfogtam.
Mentségemre szolgál, hogy a make-et kb. akkor használtam utoljára, mikor még muszáj volt rendszeresen új kernelt fordítani...(nem tegnap volt, na...)
-
jattila48
aktív tag
Ugyanakkor az MS nem javasolja a TxF használatát, helyette pl. a ReplaceFile-t. Most akkor mégsem váltható ki a TxF ReplaceFile-lal? [Alternatives to using Transactional NTFS]
Linuxban a rename valóban atomi, míg a Windowsban a ReplaceFile nem? Ugyanazt a problémát kell megoldani. A Linuxban ez hogy történik? A file rendszerben van erre egy belső szinkronizálás? Windowsban miért nincs, vagy miért nem lehet? Honnan tudjuk, hogy a Windowsban nem atomi a ReplaceFile abban az értelemben amit írtam (nincs kívülről megfigyelhető köztes állapot)? Hogy lehetne tesztelni?
Kísérleteztem a ReplaceFile-lal, és szerintem a következőképpen működik:
Legyen A a helyettesítendő file, B pedig amivel helyettesítjük. Mindkettő ugyanazon a volume-on van.
1. Átnevezi A-t A.tmp-re (vagy valami hasonló temporálisra). Az A file-t nem mozgatja, csak a neve változik (Linuxban az i-node marad ugyanaz), ezért az A-ra már nyitott handlékkal zavartalanul folytatható az olvasási művelet. Ez az a pont, ahol az A nevű file-t nem lehet megnyitni, mert ilyen név már nem létezik. Ez lenne a kívülről megfigyelhető köztes állapot, amikor másik thread nem tudja megnyitni A-t. Az A.tmp-t nem lehet megnyitni.
2. B-t átnevezi A-ra. Szintén nem mozognak file tartalmak, csak a név változik (i-node marad).
3. Az A-ra megnyitott handlék bezárásakor az A.tmp törlődni fog.Tehát a két átnevezés között van a köztes állapot, amikor A-t nem lehet megnyitni. Linuxon feltehetőleg logikailag ugyanígy működik a rename.
-
jattila48
aktív tag
A file sharing flagek nem okoznak problémát, azokat tudom kezelni.
Nem IPC re használom a file-t, hanem közönséges konfig file-ként (amibe időnként visszaír a program).
A ReplaceFile-nál számomra "zavaró" köztes állapot csak az lehet, hogy a másik thread nem tudja olvasásra megnyitni a file-t, mert annak a neve (nem a file maga) abban a pillanatban már nem létezik (temporálisra lett átnevezve). Ha sikerül megnyitni, akkor biztosan konzisztens tartalmat tudok olvasni (vagy a régit, vagy a már módosítottat), sőt a ReplaceFile előtt megkezdett, de még be nem fejezett olvasási művelet is a régi konzisztens tartalmat olvassa (akkor is, ha a ReplaceFile közben már befejeződik). Tehát csak az OpenFile-ban lehet hiba. Arra gondoltam, hogy ez esetben rövid Sleep után újra megpróbálom (időt hagyva a ReplaceFile befejeződésére), és ha akkor sem sikerül, akkor a file valóban nem létezik, és feladom a próbálkozást. Mutexet és egyéb szinkronizációt azért nem akarok használni, mert éppen a szóban forgó konfig fájlból olvasnám ki a további szinkronizációhoz szükséges mutex nevét. -
jattila48
aktív tag
Köszönöm a választ. Én is tartok tőle, hogy olyan értelemben nem atomi a művelet, hogy blokkolná az OS-t, és valóban gondot okozhat, hogy több magon hardveresen (context switching nélkül) több szál is futhat.
A másik thread file megnyitásával kapcsolatban nem a sharing flagekre gondoltam, hanem hogy előfurdulhat-e a ReplaceFile végrehajtása közben, hogy a helyettesítendő file név pillanatnyilag nem létezik (mert temporálisra lett átnevezve), miközben egy másik thread próbálja megnyitni.
A posix rename különbözik ilyen szempontból?
TxF-et nem akarok használni, az MS sem javasolja: [link]
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- DJI Mini 4 pro - Fly More Combo - RC2 drón szett +128GB SanDisk SD
- ÚJ Lenovo Legion Pro 5 16IRX9 - 16" WQXGA 165Hz - i5 14500HX - 32GB - 1TB - RTX 4060 - 3 év garancia
- T14s Gen4 14" FHD+ IPS i7-1365U 16GB 512GB NVMe magyar bill IR kam gar
- Gopro hero 7 black
- ThinkBook 16p Gen3 16" QHD+ IPS Ryzen 5 6600H RTX 3060 16GB 512GB NVMe ujjlolv gar
- AKCÓÓÓ!!! Panasonic CF-XZ6 AIO all-in-one laptop tablet 2k touch i5-7300u speciális ütésálló
- Bomba ár! Dell Latitude 7320 - i5-11GEN I 8GB I 256SSD I HDMI I 13,3" FHD I Cam I W11 I Garancia!
- ÁRGARANCIA!Épített KomPhone i9 14900KF 32/64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- Honor 9X Lite 128GB, Kártyafüggetlen, 1 Év Garanciával
- Medion Erazer Beast X40-hez vízhűtés (MD 60961) (ELKELT)
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest