Új hozzászólás Aktív témák
-
CPT.Pirk
Jómunkásember
válasz
stepboy #5791 üzenetére
Hmm, annyi minden feldolgozni való tudás!
Az assembly kódhoz ugyan nem értek, de kipróbáltam a te verziódat is, és azzal is ugyanazt tapasztaltam. Lehet majd nemsokára megpróbálom azt, hogy függvényenként külön bekapcsolom az O3-as optimalizálást, hátha úgy kibukik a gondunk forrása.
-
CPT.Pirk
Jómunkásember
válasz
stepboy #5784 üzenetére
Csak tapogatózunk. Annyit tudunk, hogy a port inicializálásakor egy nagyon pontos idejű delaynek kell ott lennie, mert különben a pc nem látja. Ezen a lenti kódon egyszer kellett módosítani, mikor átváltottunk a SourceryG++ fordítóról GCC-re. Azonos beállítások mellett a GCC-s kóddal nem működött az usb. Azt hiszem meg kellett növelni az egyik értéket egyel.
Nem lenne gond a csak O2 használata, mert az O3-as optimalizáció már kódméret növekedéssel is jár, de az LTO is megöli az usb-t, miközben elég impresszív kódméret csökkentést lehet vele elérni.
Ha lesz kis időm ezzel a viszonylag sürgős munkával, akkor majd végignézem egyenként azt a pár kapcsolót, amit az O3 hoz be, hogy melyiknél hal meg az usb.
-
kpisti1990
csendes tag
válasz
stepboy #5737 üzenetére
Szia!
Igen, leírásban IR szenzor ad jelet ha elvették az italt, itt én arra gondoltam, hogy egy számláló leszámol pár secundumot és akkor visszaáll. Másként nem igazán lehet szerintem szimulálni. Köszönöm a részletes választ
kipróbálom, próba cseresznye ahogy egy ősi kínai mondás tartja
-
kpisti1990
csendes tag
válasz
stepboy #5733 üzenetére
Szia! Köszönöm a választ! SIkerült!
int main()
{
typedef enum {ALAP,FIZETETT,KESZ}STATE_t;
STATE_t state;
state=ALAP;
while (1)
{
switch(state){
case ALAP:
{
printf("Udvozlom. Kerem valasszon italt!\n");
char c = getchar();
if (c=='k')
{printf("Kave 100Ft\n");
state=FIZETETT;}
else if (c=='t')
{printf("Tea 150Ft\n");
state=FIZETETT;}
else if (c=='c')
{printf("Forrocsoki 200Ft\n");
state=FIZETETT;}
else if ( ( c != 'k' ) || ( c != 't' ) || ( c != 'c' ) )
printf("rossz\n");
break;
}
case FIZETETT:
{
printf( "valami szoveg\n" );
state = KESZ;
break;
}
case KESZ:
{
printf( "megint szoveg\n" );
state = ALAP;
break;
}
}
}
return 0;
}Egyet nem értek, ha lefuttatom, magától lefut még1x vagy 2x. return-t kéne átírni? 0-val kezdi előlről az egészet? Mintha tárolná valahol azt, hogy előző körben mit adtanm meg neki.
-
kpisti1990
csendes tag
válasz
stepboy #5731 üzenetére
Szia!
Köszönöm a választ
Hasonlóval próbálkoztam, de valamiért nem akar működni :/
int main()
{
typedef enum STATE_t {ALAP,FIZETETT,KESZ}STATE_t;
STATE_t state;
state=ALAP;
while (1)
{
switch(state){
case ALAP:
printf("Udvozlom!Kerem valasszon italt\n");
{
char c;
c=getchar();
getchar();
if (c=='k')
printf("Kave 100Ft\n");
if (c=='t')
printf("Tea 150Ft\n");
if (c=='c')
printf("Forrocsoki 200Ft\n");
}
state=FIZETETT;
break;
case FIZETETT:Talán rosszul értelmezem neki a state-t? Vagy "csak a megfelelő karakter beolvasása után lehet "FIZETETT" érték" ezt úgy értetted, hogy erre is kéne írni egy if-es szerkezetet? if (valami==true) state=FIZETETT;?
-
dobragab
addikt
válasz
stepboy #5685 üzenetére
De, ezzel így semmi baj nincs. Csak ez azért ciki, mert a
temp
változó csakis azért létezik, hogy a függvénynek cím szerint oda tudd adni. Másra nem kell, ettől rondább lesz a kód.Így már szebb (szerintem):
evil_api_function_call(fp, ptr, (int[]){1});
Mert ugye ezt nem írhatod le.
evil_api_function_call(fp, ptr, &1);
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Milyen videókártyát?
- Hobby rádiós topik
- Luck Dragon: Asszociációs játék. :)
- Kompakt vízhűtés
- Vélemény: nem úgy tűnik, de Lip-Bu Tan most menti meg az Intelt
- Feketehalálra váltja a kékhalált a Microsoft
- Mobil flották
- sziku69: Fűzzük össze a szavakat :)
- Vicces képek
- Házimozi haladó szinten
- További aktív témák...
- Dell Latitude 5450 Intel Core Ultra 5 135U 4nm 32GB DDR5 érintőképernyős laptop Dell gari 2027.09.hó
- PlayStation 4/5 kontroller analóg cseréje HALL TMR érzékelősre, 1 év garancia!!! Nincs többé drift!!
- PlayStation 5/4 kontroller analóg cseréje HALL TMR érzékelősre, 1 év garancia!!! Nincs többé drift!!
- XBOX ONE/Series kontroller analóg cseréje HALL TMR érzékelősre, 1 év garancia!!! Nincs többé drift!!
- XBOX Series S 512GB, 6 hó garanciával Bp-i üzletből eladó!
- BESZÁMÍTÁS! Asus TUF B550M R7 5700X 16GB DDR4 512GB SSD RTX 3060 Ti 8GB Rampage SHIVA FSP 700W
- Samsung Galaxy S22 Ultra 512GB, Kártyafüggetlen, 1 Év Garanciával
- DELL, HP gyári töltők, sok db. 7,4x5mm - 4,5x3mm + USB-C/Type-C 65W
- Beszámítás! Sony PlayStation 5 825GB SSD lemezeskonzol extra játékokkal garanciával hibátlan működés
- Geforce GTX 1050, 1050 Ti, 1060, 1650, 1660 - GT 1030 - Low profile is (LP)
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest