Hirdetés
-
IT café
Új hozzászólás Aktív témák
-
Livius
őstag
válasz Citroware #15809 üzenetére
Ha már valaki programozott valamilyen nyelven valaha kezdő szinten akár, akkor kb 6 hónap alatt magától is képes a haladó szintű Python tudást megszerezni. Az baj hogy nekem az jön le, hogy úgy akarsz megtanulni valamit, hogy ne kelljen sok időt neked rászánni. Kb hogy helyetted valaki majd szájba rágja. A programozásban a szájbarágás semmit sem ér, vagy Te leülsz és heti szinten 16 órát minimum eltöltesz benne valami saját kitalált projektekkel, vagy az életben nem fogod megtanulni.
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz Citroware #15798 üzenetére
Ajánlom kezdj el válogatni itt, és kezdj el spórolni is, mert hiába a magyar munkabér, ami a Te igényeidnek kellene arra egy srác saját tananyaggal és minden más fullos felkészültséggel 20000 Ft/órát kér el. A többi pedig átlagban 7000-10000 Ft/óra de nem is lesz olyan fullos.
[ Szerkesztve ]
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz Postas99 #15796 üzenetére
Ezeket a scripteléseket nem, az NI CVI az sima C nyelvű editor és fordító amiben GUI is csinálható, ilyen lehetőségek nincsenek benne. Offline adatkiértékelésre szoktunk használni Matlab-ot esetleg Python-t, ami már a scripteléshez tartozik.
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz dabadab #15783 üzenetére
Áhh erre a MXC_SPI_BUF_RX makrós dologra már emlékszem, ebben kellet pacthelnem, hát ötletes meg minden, de nem volt baráti a dolog számomra, főleg azért mert olyan dolgot kellett beleraknom, amitől már nem lehetett sablonos, és nem volt alkalmas erre a spórolva megírt módhoz, úgy hogy egyesítve kezelhető legyen minden típushoz.
Az X és Y koordinátás dologra értem, hogy csak erőltetés és oda felesleges az ilyen _u32 vagy ilyesmi jelölés. De nekünk a SW 90%-ban HW eszközöket kezel, tehát pont olyan dolgok jönnek be mint az "spi_imx_buf_rx_u8" és társai csak akár már változókra is, nekünk ezért kellene elsősorban. Ha általános matematikai számolásokról szólna vagy szimulációkról a SW-ünk, akkor tényleg semmi értelme nem lenne ezeknek a var_u32 utótagoknak.Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz dabadab #15772 üzenetére
Ezt a template programozást arra érted, hogy előre fel van töltve pár típus struktúra különböző SPI controllerek fv pointereivel meg konfigjaival? Ez tényleg okos, bár sajnos a C++ hiányát próbálja megoldani praktikusan.
1. nincs camelcase, underscore van
C-ben mi az ajánlott? Camelcase nekem eddig a C#-ban és C++-ban otthonos, C-ben erre az underscore-ra szavaznék.2. minden függvény neve az a scope, ahol érvényes
Oké ezt értem, hogy akkor ami spi_imx-vel kezdődik az a fv az csak az spi-imx.c-ben van felhasználva. De mi van akkor, ha lenne egy olyan fv amit más scope is használna mert úgy van tervezve (tehát egy include-val más forrás is használhatja), milyen nevezék lenne jó rá?3. a függvénynevekben csak tök elterjedt (tx, rx, clkdiv, buf) illetve a domainspecifikusan egyértelmű (pl. wml) rövidítéseket használ, minden más ki van írva
Más kernel forrásban úgy emlékszem van olyan postfix sokszor a változóknak, hogy _u64, _s32, ez itt egyáltalán nincs, pedig nálunk erre nagyon lenne majd igény.4. ha boolt adnak vissza, akkor eldöntendő kérdés a függvény neve
Ezt én is szeretem már használni az is_xxx() fv nevet vagy változó nevet, a C#-ból és a C++-ból rám ragadt. Van értelme a fv-nek valami post vagy prefixében azt is bevezetni, hogy milyen típusú a visszatérő értéke?[ Szerkesztve ]
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz dabadab #15769 üzenetére
Az NI LabWindow CVI az csak és kizárólag C-ét tud fordítani, és abból is max a C99-et. Hiába van benne egy clang fordító, az NI fórumán is közölték már sok kérdezőnek hivatalos NI support emberek, hogy az a clang az NI-által már módosított, és kivan belőle szedve a komplett C++ képesség. Ezt a fránya LabWindow CVI-t és így a C-ét csak azért kell használnunk, mert a LabViewban is használható, ma már nagyon szépnek sem mondható GUI-is van benne, és azt nem tudjuk lecserélni (vagyis letudjuk, de akkor lehet újrakezdeni mindent a nulláról C#-ban). Szóval semmi esély a C++-ra, sajnos. Max annyi esély lenne, hogy egy CVI-ban buildelt dll, az nyilván egy g++-val vagy msvc-vel fordított C++-ban használható lenne, de nekünk már maga a GUI is ebből a CVI-ból származik, ami 100%-ig C-ben van, így innentől kezdve nincs C++ lehetőség mert ez a GUI vagyis Framework azt nem tudja.
Amúgy valami jó "state of the art" Linux kernel forrást tudsz mutatni? Én nemrég pathcelgettem magunknak ebben az spi-imx.c forrásban, de azért én erre nem merném kimondani, hogy annyira patent, közelebb áll a vacakhoz mint a tökéleteshez. Én pl nem tudok rájönni mi lehet a nevezéktan ebben, kb semmi, valami rövidített random kitalált nevek vannak, amik valamit elárulnak a működésről és ennyi, de ez nekünk így kevés lenne, jó alapnak.Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz dabadab #15767 üzenetére
Sajnos pedig valami szabályokra épülő változónév és fv név is kell (sőt főleg ez kéne), mert nem csak egy ember csinálja az ilyenben a coderefactoringot, és itt ha nincsenek vagy nem lesznek szabályok, akkor csak a rendetlenséget fogjuk növelni, és jobb semmi sem lesz így a kódban átláthatóság terén.
Python-ra, C++-ra, C#-ra tök jókat találok GitHubon, de ugye mind az objektumokra van kitalálva. Baromira áldom ezt az NI-t hogy még mindig nem tudta C++ képessé tenni a szar CVI fordítóját és Frameworkjét, lassan 20 év után se.Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz dabadab #15763 üzenetére
Nézegetem, de ez a kernelére van igazán, pár cucc lehet jó lesz belőle, de pl a naming fejezetet úgy leírja, hogy szinte semmit se írt le, hogy akkor most mit kell használni a változókra.
Egyelőre ez ami hasznos első olvasásra
"Functions should be short and sweet, and do just one thing."Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
Tudom, hogy már mindenki akinek esze van az Windows PC-én C++-hoz nyúl minimum, és ha van valami C-ben, az abba behúzható és kész, és már rögtön megy is valami Class-ban egy metódus mögött az a pár fv. De már írtam, a nagy sikerű igen modern (max C99-et tud és semmi C++ képesség) LabWindows/CVI-ban kell rendet vágni egy C nyelven írt projektben, sajnos.
Azzal a C++ Google style-val csak az a bajom, hogy rengeteget kéne benne mazsolázni, hogy mi kell C-re meg mi nem, és nagyon az objektum orientáltságra van kitalálva a nevezéktana, tehát az nem lesz túl hasznos itt.
[ Szerkesztve ]
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz cattus #15755 üzenetére
Torvalds-nak van user-space C nyelvre is? Én eddig csak a Linux kernel-hez valót találtam meg.
[ Szerkesztve ]
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz dabadab #15754 üzenetére
Azért kellene nekem egy ilyen, mert a kedves National Instruments-nek a HW cuccait nem csak a saját LabView nyelvével lehet programozni, hanem van nekik egy C-és Frameworkjük is GUI-val és sok-sok lib-vel a HW-jeikhez, ez a LabWindows/CVI. Sajnos van egy +10 éves SW ami ebben van megírva, és életben kéne még tartani, de akkor már jó lenne valami kultúrát is bele vinni, mert az már nem sok maradt benne.
Amúgy C99-hez vagy annál újabbhoz kéne, valami értelmes, nem beágyos.[ Szerkesztve ]
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz pmonitor #15750 üzenetére
Figyu, szerintem mostantól inkább beszélgess itt a valódi programozokkal, és minket kerülj el. Ezen az oldalon pont az a lényeg, hogy solutiont kapj és csak várnod kell a sültgalambot a kérdéseidre.
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
Akkor egy új témát feldobnék.
Asztali PC-és C programozáshoz tudtok linkelni valami bevált nagy techcégek által is használt coding rules-t vagy coding style-t? A neten tele van minden +20 éves beágyazott rendszerekhez kitalált coding style-okkal, de nagyon nem olyan kéne, hanem ami inkább Windows PC-és környezethez van és C-hez.
Olyan féle is jól jönne, ami nem csak a nevezéktanról ír, hanem általános programozási alapelvekről is, hogy pl kerüljük a globál változókat, meg tiltott legyen a go to használat stb.
[ Szerkesztve ]
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz pmonitor #15743 üzenetére
Képzeld nem tudom és nem látom értelmét se, mert azt full máshogy fordította le egy fordítóiroda az MS-nek, ahogy én gondolnám azt, és innentől kezdve a Google nem fogja azokat a találtokat hozni ami valójában kéne rá.
Netán ha lenne annyi eszed és angol nyelven használnád a fejlesztőkörnyezetet, akkor bármi ami előjön hiba, a Google-ba csak be kellene írni "... " idézőjelek közé és jönne 100 találat angolul, amiből az első három átlagosan tartalmazza azt ami neked is kéne. Googlezni is meg kell tanulni angolul, ez az első lépés ahhoz hogy valaki zökkenőmentesen tudjon programozni.
Ez meg amúgy elég indokolt eset, mert szakmai nyelv itt az angol, hiába linkelgetsz itt álalános fórum szabályokat, amik nyilván a hétköznapi topikokra lett átgondolva.[ Szerkesztve ]
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz pmonitor #15732 üzenetére
Ha már linkelsz valamit, legalább az angolul írt hibaüzenetet írd be mert így semmi sem kereshető ezen Google-val, hogy mi ment férre nálad. Amúgy, ha neked az az igényed, hogy beírsz valami problémát, és egyből böfögjék vissza a helyes hibajavtást és választ akkor barátom elég rossz helyen jársz. Erre ott van Stack Overflow oda írd be, jah de bocs igen ahhoz angolul kell tudni írásban, és jól kommunikálni ott, különben nem értenek majd meg. Gyanítom azért vagy állandóan elveszve abban, hogy mi a megoldás, mert nem megy az angol nyelvű keresgélés a neten, már pedig IT-ban angolul kell tudnod kötelezően, különben nem tudsz megoldani semmi komolyabb dolgot egyedül, és neked is angolul kell publikálnod, különben haszontalan az egész.
[ Szerkesztve ]
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz pmonitor #15728 üzenetére
Arra írtam választ amit ezelőtt linkeltél, ott aztán semmi sincs optimalizálva abból amit említettem. "Ezt légyszíves csináld már meg úgy..." erre most jössz mással...
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz pmonitor #15723 üzenetére
Kezdésnek például próbálkozz unmanaged tömbbel a C#-ban, és googlez rá, hogy Garbage Collector dolgaival hogy tudsz optimalizálni. VS2019-ben amúgy van performance analyzer, játszani kell vele, és googlezni a megoldásokat. A For loopban és akár if-ben pedig, könyörgöm, használd a { } blokk elválasztásokat és a ; után legyen már minden új sorban, mert így olvashatatlan a kódod. VS2019-ben far auto-formázás a cs fájlra, kezdésnek azt nyomd be.
[ Szerkesztve ]
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz pmonitor #15721 üzenetére
A C# továbbra sem játékszer, én inkább abban látom a problémát, hogy amikor valamit meg akarsz benne oldani akkor azt a low level szinten akarod, amikor pont azért van a C# hogy ne abban kelljen. A Google tele van olyan C# drive partícionáló és formázó példákkal, amik a windows alap diskpart.exe-ével együttműködve mindent megold, de gondolom ez neked úgyse jó, mert csak azért se.
Ha meg nem tetszik hogy lassú a .Net akkor tanuld meg azokat benne amitől gyors lesz. Általában amikor feltételezzük hogy lassú valami a .Net ben vagy valamiben a végén mindig kiderült hogy a user a hülye, és 10 szer optimálisabban is csinálhatta volna azt hogy már ne látszódjon lassúnak.
[ Szerkesztve ]
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz pmonitor #15639 üzenetére
Igazából mindegy milyen nyelven publikálsz a GitHub-on. A lényeg hogy a GitHubon legyen fent, mert a Google és minden kereső a legjobb találatokat onnan hozza. Tehát ha valaki magyar nyelven keres valami olyat, amiről te csináltál ott valami repot és szép dokumentációt, akkor azt eléggé az első találatokban hozza majd elő, és innentől kezdve igen hasznos lehet az amit oda felraksz. Nyilván ha angol leírásokat írsz, azt világszinten még többen betalálnák a Google-vel. Amúgy minden mappádba rakhatsz egy Readme.md text fájlt, amiben a markdown syntaxissal csinálhatsz elég jó féle dokumentációkat és leírásokat. Ezek a legfontosabbak, hogy valaha valaki rád találjon a neten. Példa: [link]
[ Szerkesztve ]
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz pmonitor #15628 üzenetére
Már régebben írtam neked hogy erre van a GitHub meg a többi ilyen nyílt repo kezelős közösségi oldal. Ha az utókornak és másoknak akarsz hasznosat alkotni, akkor oda kell felrakni a kódokat, lehetőleg angol leírásokkal. A jelenlegi privát weboldalad az internet süllyesztőjében elvész, nem sokra jó.
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz pmonitor #15613 üzenetére
Ezért mondom hogy menj el dolgozni, mert látszik hogy nem látod mi a helyzet a jelenlegi technológiákban! C-ben az programozgat aki Linux-ban HW közeli dolgokat csinál, aki ott userspace dolgokat csinál az is már jobban jár a C++-val Linuxon. Vagy C-ben az programozgat, aki mikrokontrollereket használ. Ha nagyon fontos a sebesség desktop gépen, akkor C++ kell, vagy pl Windows 10 driver C++-ban ajánlott, ha még GUI is kell akkor vagy lehet maradni a C++-nál, vagy tovább kell lépni C#-ra (ma már mindenhez kell GUI, konzol alkalmazás nem eladható). A scriptnyelvek pedig gyors kipróbálásokra jók, vagy épp valami webes háttér feladatokra, amik ilyen mappákból másolgatunk ezt azt ide-oda, meg szöveges dolgokban keresünk pl. Ez a mostani trend, fogadd el. Ha a C a mindened, akkor kezdj el nézelődni a Linux kernel programozás terén, vagy mikrokontroller programozás terén, ott tényleg számít minden ms, ez való neked.
És egy C csapat igen is lassú, amint követelménybe kapja hogy legyen GUI, webes interface meg ilyesmi, már +1 év fejlesztés.
Előre megírt dolgok meg nehogy azt hidd hogy nagyon vannak, max a régi dolgokat copy-pastje van általában, de ez is kis mértékben.
[ Szerkesztve ]
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz pmonitor #15594 üzenetére
Jelenleg az igazi programozók ilyeneket használnak kb (nálunk legalábbis ez ami kell multicégnél): C#, C++, python, Matlab (C-ét pedig defaultból mindenki tudja, de nem ez a fő nyelv, ami kell)
C#-ban igen, tudsz használni C-és dll-t, de javaslom ezen a koncepciódon még alakíthatnál. Azzal, hogy Te magadnak írsz egy C dll-elt és 200 ms-vel lettél gyorsabb a C# eredeti MS-es megoldásához képest azt még igencsak a hajadra kenheted.
Ha még ezen a vonalon akarsz csiszolni, hogy a matematikai eljárások a lehető leggyorsabbak legyenek, úgy hogy adott esetben a C#-ból egy külsös nem .Net-es dll-ből egy sokkal gyorsabb implementációt használsz, akkor ajánlom figyelmedbe a BLAS és LAPACK szintű átportolását az Intel-nek, Intel oneAPI Math Kernel Library.
Előfordulhat hogy ez csak az Inteles gépeken fog működni, kb csak a Core 2 Duo és annál újabb CPU-kon, de jelenleg ennél optimálisabb numerikus lib nincs C/C++-ban szerintem (párhuzamosított vektor/mátrix művelteket alapból tudja), amit egy C# alatt tetszőlegesen használhatnál is.Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz pmonitor #15587 üzenetére
Javaslom kezdj el dolgozni valami szoftveres multicégénél, és akkor egyből rájössz, hogy ha tegnapra kell valamit megcsinálni, akkor manapság az már nem fér bele, hogy C-ben Win32 API-val mindent a legalacsonyabb szinten csináljunk meg 4 év fejlesztés alatt, amikor ugyan az sokkal átláthatóbb kódolással, 3 hónap alatt kész van C# WPF-ben egy Windows 10 cél platformra fejlesztve. És itt most egy korszerű sok-sok magot kihasználó multiprocessinges progira gondolj GUI-val és mindennel, ne a command line szintű használhatatlan user-interfaces DOS korszakos programra.
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz pmonitor #15485 üzenetére
A Windows 7-ben még a klasszik számológép volt. Windows 10-ben be jött ez a metro felületes fos, ami lehet tök máshogy indul és kezelhető. Igazából ki kéne ismerni, hogy hogyan kezelhető az új kalkulátor aztán azzal is menni fog amit akarsz.
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz fatal` #15471 üzenetére
Visual Studio-ból a legújabb 2019 professionalt kell használni, és a havonta érkező frissítéseket fel kell rakni. Én a legújabbat használom, és semmi gond sincs vele, teljesen jó már.
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
Jah, de külön doksit írhatsz majd erről az egy bites usernek mit hova másolgasson, ez biztos megéri. Vagy a fejlesztésed 40%-a azzal megy majd el, hogy automatizált scriptet adsz neki ami másolgat, PATH-okat állít be a futtatás előtt meg egy csomó ilyesmi. Ez a bonyolultság ami ezzel bejön biztos megéri másnak, de nem nekem. A user meg azt a szoftvert veszi majd meg ami egy kattintással hiba nélkül megy megbízhatóan, nem amihez még az indításhoz is informatikus ész kellene neki, ami úgy sincs meg nála soha.
[ Szerkesztve ]
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
A kérdésem az hogy portableként bármilyen setup.exe nélküli Java progit hogyan tudsz futtatni? Azt írod nem kell telepíteni semmit nagy mellénnyel, most meg már jössz az egybe csomagolt all-in-one telepítéssel.
Az én állításom az hogy sehogy. És a mai világban nekem személy szerint a tököm tele van az ilyen magától telepít 8GB minden bele packokkal, amikben a tényleges szoftver a usernek csak 18MB lesz. És ahogy látom a usernek is a töke tele van, csak a komplikációkat hozza az ilyen főleg ha még telepítési joga sincs egy adott gépen mert nem admin, meg aztán jönnek a random extra hibalehetőségek ebből. Windows 10 usernek a legjobb ha a segge alá adod a C# .NET szoftvert és egyből megy minden egy kattintásra neki. Ezzel a Java nem tud versenyezni, ebben örökre hátrányban lesz.
[ Szerkesztve ]
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
Akkor tegyük fel fent van egy frissen telepített Windows 10. Ahhoz hogy menjen a Javában megírt program kb portable szinten, hogy bemásolom és rákattintok. Menni fog? Biztos hogy nem kell semmit extra dolgokat telepíteni?
[ Szerkesztve ]
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz Drizzt #15452 üzenetére
Nekem egy dolog nagy gond benne. Sokkal körülményesebb a usernek kulcsrakészen kiadni egy felhasználói programot Java-ból fejlesztve. Ahhoz hogy fusson, végig kell kézzel szájbarágósan telepítgetni a Java run-time dolgait vagy akár még más extra cuccokat is. Ezzel szemben ha a programod C#-ban van megírva a MS .NET-vel, a usernek akár adhatsz egy portable exe-t vagy mappát is, és már egyből kulcsra készen futtaható Windows 7, 8, 10-en, mert az MS kérdés nélkül minden .NET függést belerak az OS-be, és még a win update folyton erőltetve frissíti is.
Persze ez most csak az az eset, ha valamit csak Windows usereknek kell fejleszteni, de ebben az esetben a Java szerintem csak hátrányt hoz, előnyt nem.Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz pmonitor #15319 üzenetére
Az a baj hogy te matematikai formulák optimalizációját várod el a gcc-től már magába a C/C++ nyelvben (még csak szimbolikus matematikai szinten), de szerintem a gcc-nek nem ez a feladata, és nem erre találták ki az optimalizációját. Ha ebbe durván bele nyúlna, egy ilyen optimalizációs szint, akkor soha az életben nem lenne biztonságos ahhoz, hogy egy önvezető autó vagy repülőgép szabályzórendszerében használható legyen, de még lehet sokkal kisebb kockázati szinten is csak a bugokat termelné, ezért ilyen irányba gondolom sose fejlesztették ezt.
De ha neked ez nem tetszik, akkor tényleg itt a lehetőség, írd át a gcc forrását hogy ezt tudja, és adj be rá egy pull-requeste-et. https://github.com/gcc-mirror/gcc
Amúgy nem hiszem hogy ez túl easy dolog is lenne. Gyakorlatilag a wolfram alpha szimbolikus egyenlet rendezős és optimalizációs képességével kéne kezdeni ezt az egészet egy C nyelvre alkalmazva. Azért ez nem kicsit overkill és a franc se tudja mi lenne az eredménye ha ez menne automatizáltan egyszer valaha.
[ Szerkesztve ]
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz pmonitor #15314 üzenetére
Most nem azért, de olyan optimalizálást vársz el, hogy a gcc legyen olyan intelligens, és akár a matematikai eljárásodat is bírálja felül, ami hülyeség. Ez így nem működhet, annak kell ott fordulni amit Te oda leírsz (te vagy a szellemi szerző, nem a gcc), az ilyen szintű dolgokon az alkotónak kell gondolkodni, hogy optimális legyen. Biztos lehetne olyan fordítóprogramokat csinálni, amik ezt a szintet is tudnák, csak onnantól kezdve azok ilyen optimalizációs beállítással, az iparban kb tiltottak lennének rövid időn belül, az akár előre beláthatatlan programbugoktól.
[ Szerkesztve ]
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz pmonitor #15311 üzenetére
De a gcc-nek nem az a feladata hogy a te C nyelvedet alakítsa alternatív jobbra, az a te dolgod. Így kb azt várod el tőle, hogy már a C nyelvben lásson és keressen optimálisabb megoldást a user hülyeségére, de szerintem a fordító nem ott fogja ezt keresni leginkább, tehát a szerző C-ben írt részébe minimálisan hajlandó csak belenyúlni a problémák elkerülése végett. Az igazán optimális fordítás nem hülye biztos, az alkotónak a C/C++-ban is tudni kell hogy miből lehet optimálisat fordítani.
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
-
Livius
őstag
válasz Livius #15307 üzenetére
Igazad van, túl okos a gcc, és a hülye fv-re látta hogy nem fog felesleges lényegtelen asm műveleteket generálni. Raktam bele érdemben egy return-öt, és valóban az optimalizálás a két kódra nem ugyan az, láthatóan az XOR változat jobban tetszik neki, az optimalizáció során, nem véletlen persze.
első: https://godbolt.org/z/crMWsM
második: https://godbolt.org/z/brz64YGigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz pmonitor #15304 üzenetére
Észre veszi, csak be kell kapcsolni az optimalizációs kapcsolót is. Ha nincs bekapcsolva vagyis -O0 van a gcc-ben akkor nem csinál rajta semmi okosítást, mivel a szerző azt mondta az -O0-val, hogy ne is csináljon rajta optimalizálást.
első: https://godbolt.org/z/Ydox7q
második: https://godbolt.org/z/3EjYGEMinimum -O1-et, de ha -Ofast-ot írsz akkor még egy kicsit módosít rajta, de mind a két esetben a két kódra ugyan az az asm kód lesz az optimalizálás eredménye, szóval tud már mindent amit kell. Sose becsüld le a gcc erejét, Luke!
[ Szerkesztve ]
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz pmonitor #15301 üzenetére
Szerintem az már inkább az az eset lehet, amikor már maga a szerző C vagy C++-ban idióta módon nem optimálisan csinálta a dolgokat, és azon aztán nincs mit észre venni már az optimalizált fordítónak sem.
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz kovisoft #15298 üzenetére
Az első persze az, hogy a fordító legoptimálisabb beállításait ismerni kell, pl alap hogy -Ofast-ot kell használni a gcc-nél és azt kéne legyőzni.
[ Szerkesztve ]
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz pmonitor #15296 üzenetére
Az ilyennel okosan lehet próbálkozni pl ezen az oldalon, ami mutatja mi az asm kódja egy adott C vagy C++ kódnak.
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz bambano #15292 üzenetére
2021-ben amikor a piac szarásig van különböző fejlett fordítókkal PC-re, (intel compiler, gcc, clang, msvc stb...) amik a jelenlegi architektúrák mindenféle optimalizálást ismerik, sehol semmi értelme bárkinek is elkezdeni asm-ben lekódolni valamit, mert 100% hogy annyira köze sincs és nem is fogja megtalálni a neten azokat a dolgokat, amiket az adott CPU környezethez kéne tudnia használni, hogy tuti biztos hogy valóban jó asm kódot nem fog tudni írni, sőt lehet még működőt sem. Akár az ingyenes gcc vagy a fizetős társai is optimalizáltabb kódot fog fordítani, mert ezeket az okosságokat tudják. Az asm-nek ma már maximum a nagyon gyenge teljesítményű dsPIC szinteű mikrovezérlőkben van létjogosultsága, máshol pl ARM boardokon vagy Intel, AMD PC-ken semmi értelme ezzel bajlódni. Ráadásul a téma amire előjött kb arról szól hogy memcopy-zni kell jobbról balra, ebben könyörgőm, mit akartok asm-ben optimalizálni? Ha még pl 3 FFT és 2 mátrix invertálás és sajtérték számítás lenne a feladat közben, akkor azt mondom lehetne gondolkodni azon, hogy tudna e valamit hozni egy asm implementáció, de abban az esetben is az első az lenne, hogy az ilyenekre meg már van kész library ami már optimalizált teljesen és akár még multi-threades is alapból.
[ Szerkesztve ]
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz Mechorganic #15290 üzenetére
Az IO művelet nem gazdaságos, szerintem még asm-ben sem, ezért ez a koncepció hogy sokszor kell hozzányúlnod a fájlokhoz rossz stratégia. Lehet hogy tudsz vele tárhelyet vagy adatküldést spórolni, de CPU időt meg pont hogy pocsékolni fogod nagyon sokat.
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz Mechorganic #15287 üzenetére
Bármilyen .exe amit fordítasz egy mingw gcc-vel vagy akár a Visual studio-val console app-ként .bat fájlban használható, ehhez nem kell asm-ben írni. Én azt javaslom a standard C++-t válaszd erre, mondjuk Win XP-én a (Win 10-re is felmegy) Codeblocks ingyenes IDE-t felrakod a mingw-vel együtt és már fordíthatsz is bármilyen console-ban futó .exe-t. Ha még be is állítod a -Ofast optimalizációt, szerintem ugyan ott leszel sebességben mintha hozzáértően asm-ben csináltad volna.
Ezt a "képsorozat esetén a nem változó kép négyzeteket nem kell újra eltárolni" nem igazán értem, hogy ebben mi a lényeg.Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz Mechorganic #15284 üzenetére
Ez most csak hobbi vagy valami konkrét cél is van ezzel?
2020-ban DOS-ba vagy Win XP-re ezt felejtsd már el. Millió másik sokkal modernebb program vagy script nyelv létezik erre, amiben 50-100 sorból minden kész van egyszerűen és még működik is a mai modern összes oprendszeren. Google-vel azért nem találsz semmit, mert ezt ma már senki sem használja, mert van fejlettebb szoftvertechnológia ilyenekre.
Ha csak simán standard C vagy C++-ban írnád Win XP-én mingw gcc-vel ugyan olyan gyors lenne 99%-ra mint amit most próbálsz egyáltalán nem hatékonyan megcsinálni asm-ben.
[ Szerkesztve ]
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz dabadab #15282 üzenetére
Nah igen, akkor csak annyi kell, hogy egy fájlbeolvasási művelet kell az egész bementi fájlra, aztán ez egy nagy mátrixban le van tárolva. Ebből egy eredmény mátrixot fel kell építeni, aztán egyszerre azt kiírni fájlba, és ennyi. Ha soronként van valami extra tömörítési algoritmus, valami képfeldolgozás, akkor azt megérné még plusz szálakban párhuzamosítani.
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz Mechorganic #15280 üzenetére
Miben kell ezt csinálnod? Mi az oprendszer mi a programozási nyelv? Az egészet ASM-ben írod?
Ha van elég RAM-od és mondjuk 1-nél több CPU-d akkor a legegyszerűbb az, amit a végén is írtál, hogy az egészet egyszerre betöltöd egy mátrixba, aztán minden egyes sorra amit akarsz egymástól függetlenül elvégezni, azokat egyszerre elindított (egy for ciklusban egymás után, igazából nem pont egyszerre fognak indulni) külön szálakban, azt vársz azok végére és mondjuk az eredmény mátrixot meg már nem párhuzamosítva, hanem szépen sorban felépíted ezek külön eredményeiből (ekkor már csak copyzol sorról sorra).
Ez amit szeretnél C, C++, C#-ban egyaránt Linuxon vagy Windowson egy szép megoldás és még egyszerű is. Tonna számmal vannak a neten az ilyenekre a megfelelő példa kódok.
[ Szerkesztve ]
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz dabadab #15275 üzenetére
Googlizás közben erre az oldalra rátaláltam én is. Aztán valahogy eljutottam a kernel load_balance függvényéhez is ami ezt kell csinálja. Viszont nekem gyanús, hogy ez csak a sima normális nem real-time ütemezésbe beállított szálakra megy. Nálam az a szál amin hiányolom az ilyen fajta CPU-k közötti intelligens load balance-olást, az real-time-os FIFO ütemezésüre lett beállítva. Lehet az ilyenre nincs ilyen művelet a kernelben (egyértelműen nem láttam még a leírásokban ezt). Mivel nem létkérdés, hogy FIFO legyen az a szál majd kipróbálom valami sima ütemezéssel, hogy akkor hogyan viselkedik.
A "kernel/sched/rt.c" az aki a SCHED_FIFO and SCHED_RR-t ütemezi, mindjárt bele nézek van-e valami ilyesmi cucc benne.[ Szerkesztve ]
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz K1nG HuNp #15274 üzenetére
C, C++, C#, Python3 ezekben ha indítasz egy szálat akkor bármikor kilőheted őket. Egyébként mi értelme a Go-nak ha van ennél más ami sokkal fejlettebb?
[ Szerkesztve ]
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz dabadab #15267 üzenetére
A linkelt oldalakon semmi konkrét infó nincs erről, hogy az ütemező hogyan osztogatja a CPU magok között a szálakat.
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
Az simán megy hogy csak egy kizárólagos magra állítom be az affinitását, és akkor csak azon is megy ezzel nincs gondom. De most pont ezt szeretném alapos és biztos ismerettel eldönteni, hogy csináljam úgy hogy én megadom hogy csak és kizárólag a core0-án menjen, vagy mindegy lesz, majd okosan a Linux oda rakja ahol a legkevesebb a CPU használat éppen aktuálisan. Ebben az utóbbiban egyelőre nem bízok hogy így menne, mert gyanús nekem a tesztek alapján, hogy véletlenszerűen kerűl valamelyik magra a legelején mikor indul, és utána meg soha többet nem kerül át másik magra a szál, ami így nekem logikátlan. Összesen két magom van, azon kéne gazdálkodjak, és egy másik nagy CPU fogyasztású szál már megy kizárólagosan a core1-en, természetesen ott is van még bőven szabad CPU idő, de azért valami intelligens ütemezést várnák el a Linux-tól, hogy ne mindig akkor a core1-en menjen az a szál, attól még hogy ott kezdte el futtatni legelőször.
[ Szerkesztve ]
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
válasz pmonitor #15209 üzenetére
Szia!
Szerintem ezt a bferi.hu oldalon történő publikálást felejtsd el és térj át gyorsan GitHub-ra (még verzió kezelt is lesz a kódod) és így ott az angol nyelvű leírást is át kéne venni. Az ilyen privát weboldalakról a random open source közösség soha semmit nem fog megtalálni, főleg ha még magyar is a leírása. Jah és ha a problémának van hivatalos angol kifejezése a matematikai világban vagy numerikus analízisben azt a GitHub-on feltüntetve mindent visz az ilyen, mindenki rá fog találni, és beindulhat az igazán nagy szakmai elmélkedés ott a GitHub-on erről, akár mások javasolt átkódolásaival és ötleteivel a kódban.
Vannak már mások is akik ezzel foglalkoznak ott.
https://github.com/search?q=Cutting+stock+problem
Jah, amúgy validálásnak, hogy mennyire jó amit tud ajánlom a Matlab hivatalos megoldóját erre. A matlabnál azért általában a "state of the art" van implementálva matematikailag, tehát hobbi home office-ban nem igen lehet annál jobban működőt összerakni.
Matlab: Cutting Stock Problem: Solver-Based[ Szerkesztve ]
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
-
Livius
őstag
Sziasztok!
Lenne egy Linux C/C++ programozási kérdésem, de lehet nem is annyira a C/C++ nyelv a lényeg benne, Linux kernel v4.x-et használok.A kérdés az, hogy amikor C/C++-ban a pthread.h-et használva indítok egy plusz threadet FIFO ütemezésben úgy, hogy előre attribútumban beállítom neki a CPU affinitást minden magra, a futás közben ezt a Linux hogy fogja figyelembe venni és kezelni? A thread amit indítok egy végtelen ciklusban figyelget egy thread-safe queue-t, és amikor van valami új elem azt kiveszi, majd csinál vele egy két műveletet, aztán megint blockolva várja a következőt. Ez a szál teljesen jól működik, kb 3-4%-os CPU használatot eredményez, de számomra nagyon gyanús az, hogy mintha a Linux véletlenszerűen indítaná az egyik magon a sok közül ezt a threadet, és utána örökké, csak azon a magon futtatja, vagyis a blockolás feloldása után mintha sose lenne olyan, hogy a másik magra kerülne át a futtatása, pedig a másik magon több szabad CPU idő lenne láthatóan htop-ban. Tud valaki valami infót vagy valami jó linket, hogy valami nagy könyv/biblia szerint a több magot is használható threadeknek hogy kéne managelődni a Linuxban a CPU magok között?
Gigabyte GA-Z170-D3H, Intel Core i7-7700K, Corsair Vengeance 2x8GB DDR4-3600MHz, Intel 545s 256GB SSD, MSI GeForce RTX 4060 Ti 16GB VENTUS 2X BLACK 16G OC
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Teclast Mini PC/ 12. gen. processzor/16GB/512GB
- BESZÁMÍTÁS! ÚJ AMD Ryzen 7 9800X3D processzorok 3 év garancia 27% áfa KÉSZLETRŐL!
- Apple iPhone 15Pro 512GB, Natural Titan, Icentre vásárlás, makulátlan, független + kiegészítők
- GAMER PC! Ryzen 5600X / RTX 3060 Ti / 16GB 3200MHz / B550 / 512GB NVMe! BeszámítOK
- Nvidia Quadro K2200 4GB
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Axon Labs Kft.
Város: Budapest