How to use large size array, which are shared

Ali Çehreli acehreli at yahoo.com
Sun Jan 27 13:50:43 PST 2013


On 01/27/2013 01:44 PM, Sparsh Mittal wrote:
 > Hello
 >
 > I read: "The total size of a static array cannot exceed 16Mb. A
 > dynamic array should be used instead for such large arrays."
 >
 > I want to make array which is shared but also has a large size,
 > e.g.
 >
 > shared WorkerClass[numberOfWorkers] myWorkerArray;
 >
 > where numberOfWorkers is large.
 >
 > If I try to do:
 >
 > shared WorkerClass[] myWorkerArray;
 > int main()
 > {
 > .....
 > myWorkerArray = new WorkerClass [numberOfWorkers];

shared is a part of the type:

     myWorkerArray = new shared(WorkerClass)[numberOfWorkers];

Alternatively, you can initialize myWorkerArray in a 'static this' block:

class WorkerClass
{}

enum size_t numberOfWorkers = 10;

shared WorkerClass[] myWorkerArray;

static this()
{
     myWorkerArray = new shared(WorkerClass)[numberOfWorkers];
}

void main()
{}

 > Can you please help me.

Please also consider the D.learn newsgroup. Such threads are very 
helpful on that newsgroup as well. :)

Ali

-- 
D Programming Language Tutorial: http://ddili.org/ders/d.en/index.html



More information about the Digitalmars-d mailing list