Pointer v C++

Jan Waclawek konfera na efton.sk
Pondělí Prosinec 12 11:35:36 CET 2022


masks[di] --> unsigned char *mask

ako presne je deklarovane masks resp. di?

wek



----- Original Message ---------------

Subject: Pointer v C++
   From: Pavel Hudeček <edizon na seznam.cz>
   Date: Mon, 12 Dec 2022 11:25:07 +0100
     To: hw-list na list.hw.cz

>Dobrý den v±em,
>mějme funkci:
>int maskDevAuto1(unsigned di, unsigned run, double time, unsigned short 
>limit, unsigned char *mask, int *maskedCnt) {
>     ...
>     maskedCnt[0] = 0;
>     ...
>     for (n = 0; n < ...
>        ...
>        if (mask[n] == PXC_PIXEL_MASKED) maskedCnt[0]++;
>     }
>     ...
>     printf("maskDevAuto1: %d: time %.3f, limit %d, run %d, masked 
>%d\n", di, time, limit, run, maskedCnt[0]);
>     return 0;
>}
>
>a ta je volaná z:
>
>int maskDevAuto(unsigned di, unsigned short limit) {
>     ...
>     int maskedCnt = 0;
>     ...
>     for (run = 0; run < 10; run++) {
>         rc = maskDevAuto1(di, run, times[run], 100, masks[di], &maskedCnt);
>         ...
>     }
>}
>
>Takhle to funguje. Proč to ale nefunguje, pokud místo maskedCnt[0] dám 
>*maskedCnt?
>Umře buď ten if, nebo printf. Případně neumře, ale ten printf napí±e 
>hausnumero, klidně třeba záporný.
>
>Poznámky:
>masks a times jsou globální pole.
>maskDevAuto je volána z dal±í funkce a ta je ve for cyklu spu±těna v 
>několika threadech s různým di.
>
>Díky,
>PH
>



Další informace o konferenci Hw-list