Войти
ФлеймФорумПрограммирование

Язык с битовой адресацией[Обсуждение] (2 стр)

Страницы: 1 2
#15
14:25, 20 окт. 2013

TarasB
Я в нем вообще не разбираюсь, но судя по гуглу в данном случае это получение адреса 0-го элемента массива.


#16
14:41, 20 окт. 2013

TarasB

declare - декларирование функции без реализации (not define), как в C int puts(const char*); .

getelementptr - это сложная инструкция, которая используется для адресной арифметики. Она как бы разыменовывает указатель (без загрузки данных из памяти), или возвращает указатель на элемент структуры или массива. Она также может содержать несколько таких действий.

В данном случае, у msg тип [13 x i8] (массив байтов). Когда мы используем msg, тип ссылки на msg - [13 x i8]* (указатель на массив байтов). Для того, чтобы получить тип i8*, мы должны получить указатель на первый элемент массива, и поэтому используем getelementptr. Первый 0 "разыменовывает" указатель на массив, а второй 0 возвращает указатель на первый элемент массива.

Страницы: 1 2
ФлеймФорумПрограммирование

Тема в архиве.