-
IT café
Új hozzászólás Aktív témák
-
opr
nagyúr
Ezt ugy szoktak, hogy business logicon belul siman minden std::string, aztan van egy fuggvenyed, ami a konkret -esetunkben "system(valami fajta string)" hivast vegzi. Na, ez a fuggveny van ugy deklaralva, hogy elfogadja a sima std::stringet, aztan van ket lehetoseged:
headerben ott a szignatura, hogy "inline const makeTheSystemCall(std::string&);"
a) a cpp fileban meg fuggvenytorzson belul mittomen #ifdef OS_WIN aztan #ifdef OS_LINUX, stb.
b) a cpp fileban harom kulon konkret fuggveny van #ifdef-be rakva, nyilvan mindig csak az "aktiv", ami eppen van. Tehat van harom kulon fuggveny a harom OS-re. Szerintem ez a megoldas sokkal tisztabb, En igy szoktam. Tipuskonverziok, ha mondjuk a win-esnek valamiert a wchar-os moka kell, akkor itt, fuggvenyen belul tortennek, business logic marad mindenhol sima std::string.Ha visual studiot hasznalsz, akkor minden tamogatott OS kap egy kulon konfiguraciot, amikhez mindhez tartozik egy props file, ahol definialod az OS_VALAMI makrot, meg ha kell, include directory-kat meg stb-ket.
Ez a modszer azert jo, mert karbantartani is konnyu, ha valami platformspecifikus eltorik, az nem a programot tori el, csak a platformot, tesztelni is konnyu es atlathato is. Termeszetesen a platformspecifikus include-ok is ifdef blokkokban vannak. Plusz nagyon szepen elkulonul a buniess logic, ami igy alapbol esszeru kereteken belul platformfuggetlen, meg a platformfuggo rendszerhivasok.
"Programozó vagyok. Ez azt jelenti, hogy amit leírok, megtörténik." :D “The only valid measurement of code quality is What-The-F**ks/Minute.” - Robert Martin
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Nagyrobogósok baráti topikja
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Milyen autót vegyek?
- Tőzsde és gazdaság
- Kamionok, fuvarozás, logisztika topik
- Kompakt vízhűtés
- Új design és okosabb AI: megjött a Galaxy S25 készülékcsalád
- AMD GPU-k jövője - amit tudni vélünk
- Asszociációs játék. :)
- Gumi és felni topik
- További aktív témák...
- Lenovo V15: AMD Athlon Silver 3050U/8GB/256GB NVMe SSD/15,5"FHD TN/WIN11 Pro
- Wharfedale 5.1 hangfal szett eladó + (opcionálisan) Yamaha RX-V440 6.1 erősítő
- Új Zsír Lenovo ThinkPad X13 G4 Üzleti Laptop 13.3" -40% i5-1335U 10Mag 16/256 FHD+ Intel Iris Xe
- HP OMEN 15-ek0007nh - i7-10750H, RTX 2070 8GB Max-Q, 16GB DDR4 RAM, 256GB M.2 SSD - WIN 11 - 1ÉV GAR
- MSI Gamer PC: i7-6700K // RTX 2060 // 16Ram // 512Gb SSD
Állásajánlatok
Cég: Marketing Budget
Város: Budapest