- Samsung Galaxy A54 - türelemjáték
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Android dual SIM okostelefonok
- Fotók, videók mobillal
- Még el se terjedt, de már másolnak
- Hivatalos a OnePlus 13 startdátuma
- Milyen okostelefont vegyek?
- Google Pixel topik
- Xiaomi 15 - kicsi telefon nagy energiával
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
-
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_LINUX
system(lofasz.c_str()); //ha a szignatura system(const char*)
#endif
#ifdef OS_MAC
system(valami_stringkonverzio(lofasz));
#endif
}
Vagy:
#ifdef OS_LINUX
void MyClass::callSystem(std::string& lofasz)
{
system(lofasz.c_str());
}
#endif
#ifdef OS_MAC
void MyClass::callSystem(std::string& lofasz)
{
system(valami_stringkonverzio(lofasz));
}
#endif
Es 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!
- Spórolós topik
- Samsung Galaxy A54 - türelemjáték
- Azonnali VGA-s kérdések órája
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- sziku69: Fűzzük össze a szavakat :)
- Okos Otthon / Smart Home
- eBay-es kütyük kis pénzért
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Azonnali notebookos kérdések órája
- Elektromos autók - motorok
- További aktív témák...
- Szuper csendes és erős i9 9900 (8 magos) CPU-s asztali PC - Ableton-ra optimalizált
- Hp Elitebook 840 G2 i5-5200u / 8gb ddr3 / 500gb Hdd / töltő / hibái fotózva
- Apple Watch Series 9 45mm GPS+Cellular, Újszerű, 1 Év Garanciával
- Samsung Galaxy S24 128GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Galaxy S23 128GB, Kártyafüggetlen, 1 Év Garanciával
- Telefon felvásárlás!! iPhone 16/iPhone 16 Plus/iPhone 16 Pro/iPhone 16 Pro Max
- Új HP 16 Elitebook 865 G10 WUXGA IPS Ryzen5 Pro 7540U 4.9Ghz 16GB 1TB Radeon 740M Win11 Pro Garancia
- Új, Garanciális (1-3ÉV) Gamer PC-Számítógép, néve szóló számlával! I5 14400F / RTX 5060 / 32GB DDR5
- Iphone 12 Mini 64GB // Számla + Garancia //
- LG 77G4 - 77" OLED evo - 4K 144Hz 0.1ms - MLA - 3000 Nits - NVIDIA G-Sync - AMD FreeSync - HDMI 2.1
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest