Salve a tutti,
sono programmatore in C# e ho la necessità di dovermi confrontare con C++.
Come ben sapete è tutta un'altra storia.
Mi è stato chiesto di implementare una DLL in C++ che possa allocare al suo interno la memoria necessaria per gli array.
Mi spiego meglio:
un sistema che con array ad elementi limitati deve poter estendere la sua performance aumentando il numero di elementi, e per farlo può appoggiarsi soltanto a DLL esterne da scrivere in C++.
La DLL quindi deve poter fornire le funzioni per aprire array di tipi diversi (monodimensionali) allocati nella memoria dalla stessa DLL (le funzioni non possono quindi ricevere parametri per riferimento da riempire).
Ad esempio, una funzione int ApriArray(int Size, int Type) deve aprire un array nella memoria di tipo Type, dimensione Size, e restituire un intero che identifichi l'array aperto nella DLL.
In modo che Leggi/Scrivi Array(int Handle) possa leggere gli elementi o scriverli, e AddDelElement(int Handle) possa aggiungerne/toglierne.
Spero di aver reso bene l'idea.
In C# sarebbe semplicissimo, basterebbe un array dinamico di classe da popolare con gli array creati, la cui prima dimensione costituirebbe il puntatore.
In C++ sono abbastanza bloccato, un po' perchè sono parecchio arrugginito, un po' perchè non riesco a superare i limiti di tipo, multidimensione, dinamismo.
Sto cercando una soluzione, un esempio, insomma qualcosa che mi aiuti, magari anche ridisegnando l'architettura della DLL, se necessario, non mi pongo limiti.
Ringrazio chiunque possa darmi indicazioni.