Я следующий ИК-код, который я хочу, чтобы генерировать C++ для:Как инициализировать целочисленный массив в LLVM, используя список целых чисел?
@gArray = global [10 x i32] [i32 3, i32 4, i32 5, i32 6, i32 0, i32 0, i32 0, i32 0, i32 12, i32 0], align 16
Я знаю, что я мог бы использовать эти строки кода, чтобы инициализировать массив нулями:
ConstantAggregateZero* const_array_2 = ConstantAggregateZero::get(ArrayTy_0);
GArray->setInitializer(const_array_2);
Как Я инициализирую массив в LLVM для списка значений?
Спасибо! В чем разница между использованием 'ConstantArray' и' ConstantDataArray'? – Shuzheng
Похоже, что ConstantDataArray «по сути то же самое, за исключением поддержки только ограниченного диапазона типов членов» (типы байтов 1/2/4/8 - например, 'int' или' float' или 'double') - и да, вы может использовать это в этом случае - мое описание работает для любого типа [кроме, конечно, 'getIntegerValue' не работает, если у вас есть нецелый тип] –
Спасибо, очень полезно! – Shuzheng