#pytanie #programowanie #cpp
I teraz to N jest liczbą znaków, czy bajtów?
Mam wątpliwości bo operator new alokuje pamięć, a chcąc wyzerować pamięć przez memset posługujemy się bajtami:
wchar_t *pwString = new wchar_t[N];I teraz to N jest liczbą znaków, czy bajtów?
Mam wątpliwości bo operator new alokuje pamięć, a chcąc wyzerować pamięć przez memset posługujemy się bajtami:
memset(m_pwString, 0, N * sizeof(wchar_t));




















Bardzo podoba mi się rozwiązanie tzw. thunka procedury WndProc, zaprezentowanego w tym artykule. Jak dla mnie jest świetne i często z niego korzystałem. Podoba mi się też to upakowanie w szablonie #cpp, w przeciwieństwie do innych, podobnych rozwiązań. Niestety, czasy się zmieniają i królują już głównie desktopy 64-bitowe a
Po pierwsze stdcall na dzisiejszych superskalarnych architekturach to jakiś smutny żart.
Zapis pod jakiś niezalginowany wskaźnik może być wolniejsze niż skopiowanie wszystkich potrzebnych rejestrów do wykonania zwykłego calla, dzisiaj wszystko trzeba optymalizować pod korzystanie z cach line, a nie rejestrów.
Wykonywanie jakiegoś losowego kodu to teraz dodatkowo bawienie się z wyłączaniem protekcji pamięci.
Jedyna rada to taka, że dzisiaj już nie grzebiemy w ABI, bo to zbyt skomplikowana sprawa.
Proszę tutaj poczytaj, to jest do linuxa ale myślę że od czegoś warto zacząć:
http://refspecs.linuxfoundation.org/elf/x86_64-abi-0.99.pdf