-
Fototrend
Ú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.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- BESZÁMÍTÁS! Noctua NH-D15 chromax.black léghűtés garanciával hibátlan működéssel
- HyperX Cloud Alpha 2 Wireless + HyperX Cloud Alpha 2 Olvasd el
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 16/32/64GB RAM RTX 4060Ti 8GB GAMER PC termékbeszámítással
- AKCIÓ! Gigabyte X570 AMD R9 5900X 32GB DDR4 1TB SSD RX 6750XT 12GB Zalman Z1 Plus CM 750W
- AKCIÓ! Asus Vivobook M1502IA 15 notebook - R5 4600H 8GB RAM 256GB SSD AMD Radeon Vega IGP WIN
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest