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