Come si può dire, dato un puntatore void *
, qual è la dimensione di un blocco allocato su questo dato indirizzo (precedentemente allocato utilizzando malloc
, in Linux e Windows)? Spero che entrambi i sistemi memorizzino questo tipo di informazioni da qualche parte. Cioè, alternativa di malloc_size
che esiste su OSX/Darwin. Usare gcc/mingw se aiuta.malloc_size alternativa su Linux e Windows
11
A
risposta
12
In Windows, le cose che utilizzano il MS CRT può utilizzare _msize, su Linux si potrebbe provare malloc_usable_size ...
+0
Vedi anche: http://blogs.msdn.com/b/oldnewthing/archive/2012/03/16/10283988.aspx – Anders
Problemi correlati
- 1. compilazione su windows e linux
- 2. Alternativa a JFileChooser su Linux?
- 3. alternativa TextMate per Linux
- 4. Creazione di C++ su Windows e Linux
- 5. equivalente di Windows per "schermata" Linux o un'altra alternativa?
- 6. sviluppo wordpress su linux e distribuzione su server windows
- 7. Alternativa Pgadmin III - Windows
- 8. Windows Store WebView Alternativa
- 9. alternativa a Windows Servizio
- 10. Alternativa a valgrind (memcheck) per trovare perdite su linux?
- 11. Notazione Shebang: script Python su Windows e Linux?
- 12. Differenze su Java Socket tra Windows e Linux - Come gestirli?
- 13. Lo sviluppo su entrambe le macchine Windows e Linux contemporaneamente
- 14. Come catturare Ctrl + C su Windows e Linux con Qt
- 15. far funzionare un percorso sia su Linux e Windows
- 16. stringa Java spaccatura dà diverse uscite su Windows e Linux
- 17. Sviluppo di applicazioni Windows su Linux?
- 18. Discussioni/Confronto dei processi su Linux/Windows
- 19. Debug su Linux per Windows Developer
- 20. Sviluppo Android su Windows o Linux?
- 21. DLL di Windows su Linux System
- 22. Edificio Qt 5 su Linux, per Windows
- 23. Alternativa WebClient per Windows 8?
- 24. Soluzione alternativa per Windows.ApplicationModel.Package limitazioni su Windows Phone?
- 25. mkdir Windows vs Linux
- 26. Alternativa di system() in c Linux per eseguire un comando di terminale su linux
- 27. Migrazione da VisualSVN su Windows a svn basato su Linux
- 28. UDP in C# funziona su Windows ma non su Linux
- 29. os.Process.Wait() dopo os.FindProcess (pid) funziona su Windows non su linux
- 30. Compilare C# + WPF su Linux per funzionare su Windows
Penso che la dimensione viene memorizzato insieme ad altri animali in una sorta di struct giusto prima che il puntatore dato a te da malloc. In caso contrario, potrebbe essere un puntatore a tale struttura, dal momento che 'free()' avrà bisogno di tali dati. – nhahtdh
@nhahtdh Sì, lo spero anche io, ma ne ho bisogno proprio. – Cartesius00
@James, cosa farai se lancio la tua applicazione con il mio allocatore personalizzato su Linux? Mi piace 'LD_PRELOAD = my_super_allocator.so./Your_app'? Voglio dire se penserai che c'è una struttura predeterminata dietro "void *". –