funkcje niskopoziomowe

0

Cześć :)
Gdzie mogę znaleźć spis "funkcji niskopoziomowych". Chdozi mi o funkcje, które mają zazwyczaj w nazwie __fffff__

0

na jaki system? jaki kompilator?

0

na Linux, gcc

0

Odradzam używania tego, bo w kolejnej wersji kompilatora mogą zwyczajnie zniknąć i co wtedy poczniesz?

0

tak, w projektach tego nie będę robił, ale w zadaniu na studia? :)
Musiałem raz zliczyć liczbę bitów w liczbie, to zrobiłem to jednym wywołaniem ;). I do tego w czasie stałym ta funkcja chyba działała.

0
mielony napisał(a):

Musiałem raz zliczyć liczbę bitów w liczbie, to zrobiłem to jednym wywołaniem ;). I do tego w czasie stałym ta funkcja chyba działała.

int NumberOfSetBits(int i)
{
     i = i - ((i >> 1) & 0x55555555);
     i = (i & 0x33333333) + ((i >> 2) & 0x33333333);
     return (((i + (i >> 4)) & 0x0F0F0F0F) * 0x01010101) >> 24;
}
0

Wchodzisz tutaj: https://gcc.gnu.org/onlinedocs/gcc/ naciskasz ctr+f wpisujesz builtin i wybierasz to, co Cię interesuje.

Te funkcje nigdzie nie znikną. (W zasadzie to nie są funkcje nawet)

Dodatkowo tu masz "funkcje" dla różnych zestawów instrukcji dla x86: https://software.intel.com/sites/landingpage/IntrinsicsGuide/ GCC powinno to też obsługiwać. Nie ma tam chyba wszystkiego, bo nie ma rozszerzeń od AMD.

1 użytkowników online, w tym zalogowanych: 0, gości: 1