Hirdetés
- One mobilszolgáltatások
- Fotók, videók mobillal
- Poco X8 Pro Max - nem kell ide sem bank, sem akkubank
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Samsung Galaxy S26 Ultra - fontossági sorrend
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Xiaomi 17 Ultra - jó az optikája
- Milyen okostelefont vegyek?
- Google Pixel topik
- Microsoft Rewards
-
Mobilarena

Új hozzászólás Aktív témák
-
Akkor pseudo-kodoljuk le.

Van valami business logikad, aminek hivnia kell a system(valami fajta string) fuggvenyt.
Ezt tudod csinalni ugy, hogy:void MyClass::myShit(std::string& lofasz){...csinalom a dolgom, amit kell, akarhany sorban...#ifdef OS_LINUXsystem(lofasz.c_str()); //ha a szignatura system(const char*)#endif#ifdef OS_MACsystem(valami_stringkonverzio(lofasz));#endif}Vagy:
#ifdef OS_LINUXvoid MyClass::callSystem(std::string& lofasz){system(lofasz.c_str());}#endif#ifdef OS_MACvoid MyClass::callSystem(std::string& lofasz){system(valami_stringkonverzio(lofasz));}#endifEs akkor a fo kod az nezhet ki ugy, hogy:
void MyClass::myShit(std::string& lofasz){...csinalom a dolgom, amit kell, akarhany sorban...callSystem(lofasz);}Ami sokkal tisztabb, atlathatobb, egyszerubb tesztelni, modositani, uj OS-t hozzaadni/elvenni, akarmi. Alternativanak lehet olyat is, hogy a cpp-n beluli fuggvenydeklaraciot csak egyszer csinalod meg, es azon belul ifdef-elsz, de szerintem a kulon deklaracio tisztabb, szebb, es ami sokkal fontosabb: Eltorik, ha valamit elbaszol, nem egy sima ures fuggveny lesz a vege, mert a headerben OS-tul fuggetlenul ott a szignatura, amit a fordito keresni fog, es uvolt, mint a faba szorult fereg, ha nem talalja.
A config/props: Visual Studiot hasznalsz? Ha igen, arra jo, hogy siman kivalasztod fent a configurations-nel a legordulo menuben, hogy MAC, vagy WIN, vagy LINUX, es:
- Lecserelodik a fordito arra, amit beallitottal az adott platformhoz
- "Definialodik" (pre-processor directive) az OS_VALAMI macro (mindig az, amelyik eppen kell)Igy egyszeru valtani a platformok kozott, egyszeru a CI integracio es az automata teszteles is, hiszen (mondjuk Jenkinsben) annyi a dolgod, hogy lebuildeled mind a harom konfiguraciot, aztan az artefact (a kimenet/build eredmenye) sikeres build eseten mar mehet is a celgepre, ami futtathatja is rajta az automatikus teszteket. Unit/egyeb tesztek termeszetesen lefutnak, barhol barmi error van mar jelez is, hogy szar kerult a palacsintaba. Ez mehet minden egyes git push utan akar, es akkor nincs stressz amikor deploy van (ok, de van stressz, deploy elott mindig van stressz, de kevesebb
), mert tudod jol, hogy nincs olyan commit, ami eltort barmit, aminek nem kellett volna.
Persze ezt karbantartani munka, osszerakni plane, meg normalis teszteket kell csinalni hozza, de egy nagyobb lelegzetvetelu projektnel nagyon megeri mar kozeptavon is.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Okos otthon - Home Assistant, openHAB és más nyílt rendszerek
- Óra topik
- Kertészet, mezőgazdaság topik
- One mobilszolgáltatások
- Kuponkunyeráló
- Fotók, videók mobillal
- Fűnyíró topik
- HiFi műszaki szemmel - sztereó hangrendszerek
- Poco X8 Pro Max - nem kell ide sem bank, sem akkubank
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- További aktív témák...
- GAMER PC! Ryzen 3900X / RX 7600XT 16GB / B550 / 32GB DDR4 / 500GB NVMe! BeszámítOK
- Lenovo T14 Gen2 Ryzen 5650U - Refurbished - Garancia
- BESZÁMÍTÁS! GIGABYTE B760M i5 13600K 32GB DDR4 1TB SSD RTX 4070 Super 12GB Lian Li Vector V100R 650W
- MICROSOFT Surface Book 2,13.5", i5-7200U,8GB RAM,256GB SSD,WIN11
- HP EliteBook 840 G10 13. gen i5, 16GB DDR5, prémium üzleti laptop! 1 év garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


), mert tudod jol, hogy nincs olyan commit, ami eltort barmit, aminek nem kellett volna.
