Jak można stwierdzić, biorąc pod uwagę wskaźnik void *
, jaki jest rozmiar bloku przydzielonego na podany adres (wcześniej przydzielony przy użyciu malloc
; w systemach Linux i Windows)? Mam nadzieję, że oba systemy z pewnością przechowują gdzieś tego rodzaju informacje. To jest alternatywa dla malloc_size
, która istnieje na OSX/Darwin. Używanie gcc/mingw, jeśli to pomaga.alternatywa malloc_size w systemach Linux i Windows
11
A
Odpowiedz
12
W Windows, rzeczy, które używają MS CRT mogą korzystać _msize, w systemie Linux można spróbować malloc_usable_size ...
+0
Zobacz także: http://blogs.msdn.com/b/oldnewthing/archive/2012/03/16/10283988.aspx – Anders
Powiązane problemy
- 1. Dystrybucja aplikacji ruby jako samodzielnej w systemach Linux i Windows
- 2. Spanie przez milisekundy w systemach Windows, Linux, Solaris, HP-UX, IBM AIX, Vxworks, Wind River Linux?
- 3. Shebang Notation: Skrypty w języku Python w systemach Windows i Linux?
- 4. Tworzenie wspólnej biblioteki za pomocą gcc w systemach Linux i MinGW w systemie Windows
- 5. Alternatywa TextMate dla systemu Linux
- 6. Jak wyczyścić konsolę w obu systemach Windows i Linux przy użyciu C++
- 7. Jak zrobić kod bajtowy OCaml, który działa w systemach Windows i Linux
- 8. Dobry przewodnik po systemach wewnętrznych Linux?
- 9. Problem sprawdzania poprawności w systemach Windows Azure, EF i MVC3
- 10. multiprocessing.Pool w notebooku jupyter działa na systemie Linux, ale nie w systemach Windows
- 11. Wymienione potoki w systemie Windows i Linux
- 12. Alternatywa WebClient dla Windows 8?
- 13. Biblioteka kodeków AAC (alternatywa libFAAC)
- 14. Python Multiprocess diff między Windows i Linux
- 15. formatowanie podprocesu.Plex i shlex.split w systemie Windows i Linux
- 16. Qt: Alternatywa dla BitBlt w Qt5 Windows
- 17. Zastosuj styl dla przycisków we wszystkich systemach Windows w WPF
- 18. Dlaczego potrzebuję java.net.preferIPv4Stack = true tylko w niektórych systemach Windows 7?
- 19. Na których systemach/systemach plików znajduje się atomowy atom os.open()?
- 20. Wykrywanie urządzeń pamięci SSD w systemach POSIX
- 21. Gniazda na tej samej maszynie dla systemów Windows i Linux
- 22. malloc w systemach wbudowanych
- 23. Jak używać "/" (separatora katalogów) w systemie Linux i Windows w języku Python?
- 24. Windows Command Line Odpowiednik "czasu" w systemie Linux?
- 25. Jak skonfigurować logowanie w systemie log4net do% LOCALAPPDATA% w systemach Windows XP i 7?
- 26. Tworzenie bibliotek programów w systemie Windows i LINUX [C++]
- 27. Tworzenie pakietu R w systemie Windows i Linux
- 28. Procesowa mapa pamięci (Linux Windows)
- 29. Wykrywanie systemu Windows lub Linux?
- 30. Alternatywa dla batów Windows dla komendy Bash inline
myślę, że rozmiar jest przechowywany wraz z innymi spożywczych w jakiejś struktury tylko tuż przed podanych wskaźnik do ciebie przez malloc. Jeśli nie, może to być wskaźnik do takiej struktury, ponieważ 'free()' będzie potrzebował takich danych. – nhahtdh
@nhahtdh Tak, również mam taką nadzieję, ale potrzebuję tego dokładnie. – Cartesius00
@James, co zrobisz, jeśli uruchomię aplikację przy użyciu mojego niestandardowego programu przydzielającego w systemie Linux? Podobnie jak 'LD_PRELOAD = my_super_allocator.so./Your_app'? Chodzi mi o to, jeśli pomyślisz, że istnieje predysponowana struktura za 'void *'. –