您好,我有以下代碼...C尺寸到另一個
int *a, *b;
int *d;
int N = 2000;
size_t size = N*sizeof(int);
a = (int *) malloc(size);
b = (int *) malloc(size);
...
cudaMalloc((void **) &d, size);
它工作得很好......現在假設我有以下
char **t = malloc(2000* sizeof *t);
for(...)
{
...
t[i] = (char *)malloc(sizeof(char)*changing_length);
...
}
怎麼辦cudaMalloc對於t就好像它是一維數組(考慮到每個元素具有不同的大小)?
所以你的意思是,如果比如我有200個元素,所有論文的字符總數的元素讓我們說等於N,則 爲size_t大小= 200 * N *的sizeof(字符); ? – asel 2009-12-28 20:26:45
我這麼認爲。我正在考慮一個1024x1024數字圖片。它有1024行,每行有1024個元素。元素的總數是1024 * 1024。 – Pace 2009-12-28 20:29:23
讓'說我有以下圖片,我的數組只有三個元素。 a [0]存儲15個字符,a [1]存儲3個字符,並且[2]存儲5個字符。所以元素總數變成15 + 3 + 5。是嗎?還是(15 + 3 + 5)* sizeof(char)? – asel 2009-12-28 20:31:21