2009-12-18 5 views
2

Est-ce que quelqu'un sait si la classe Marshal est disponible sur la xbox360, en particulier la méthode AllocHGlobal.C# classe Marshal disponible sur Xbox?

Malheureusement, je n'ai pas accès à une xbox en ce moment, sinon je le testerais moi-même!

Fondamentalement, je veux être en mesure d'allouer de la mémoire non gérée moi-même, c'est-à-dire. ce morceau de code devrait fonctionner:

IntPtr ptr = Marshal.AllocHGlobal(10000); 
void* v = (void*)ptr.ToPointer(); 
byte* b = (byte*)v; 
b[0] = 1; 
b[2] = 3; 
Marshal.FreeHGlobal(ptr); 

Si quelqu'un est dans une ambiance aimable et a accès à une console Xbox et un des créateurs XNA abonnement club, vous pouvez coller ce morceau de code dans la méthode de mise à jour de votre jeu et de voir si ça marche.

+0

Pourquoi diable voulez-vous faire cela? – SLaks

+0

Parce que le collecteur d'ordures Xbox est nul, l'attribution de beaucoup de choses pour perdre les références est une mauvaise idée. J'écris du code qui nécessite de très courtes séries de nombres, parfaites pour un peu de gestion manuelle de la mémoire. – Martin

+0

Vous pouvez essayer de réutiliser les tableaux. – SLaks

Répondre

7
+0

Merde, j'ai même cherché sur les forums XNA pour cela. Merci. – Martin

+0

Google l'a trouvé presque instantanément. – SLaks

+0

Mon google foo est évidemment faible :( Qu'avez-vous recherché? – Martin