void funkcja_01(int, int) {}
void funkcja_02(int, int) {}
void funkcja_03(int, int) {}
...
void funkcja_10(int, int) {}int main()
{
switch (stan)
{
case 1: funkcja_01()..);
case 2: funkcja_02(..);
...
case 10: funkcja_10(...);
};
}int main ()
{
void (*funkcje[]) (int, int) = { &funkcja_01, &funkcja_02, &funkcja_03 ... &funkcja_10
// i zamiast sprawdzac stan zmiennej 'stan' po prostu uzywamy:
funkcje[stan](a,b);
}@mateusz_s, post #1
@mateusz_s, post #1
@mateusz_s, post #1
void clear(int* screen)
{
int i = 10240;
do
{
*screen = 0;
screen++;
} while (--i, 0!=i);
} @asman, post #4
Nie byłbym sobą, gdybym nie sprawdził i jak zwykle żaden kompilator nie wygenerował kodu takiego jakbym chciał (albo chociaż zbliżonego). Marzy mi się by kompilator był w stanie użyć rozkazów dbcc.
A to ten przykładzik
void clear(int* screen)
{
unsigned short i = 10239;
do
{
*screen = 0;
screen++;
} while (--i != 0xffff);
}_clear(int *):
movel sp@(4),a0
movew #10239,d0
L6:
clrl a0@+
dbra d0,L6
rts
nop