Как получить доступ к внешней структуре с помощью LLVM? - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть эта структура за пределами моего модуля в моей реализации C ++:

struct A {
  int a;
};

Как я могу создать эту функцию, которая принимает указатель A и меняетЭто?как:

define void @func(%struct.A*) {
  %2 = alloca %struct.A*, align 8
  store %struct.A* %0, %struct.A** %2, align 8
  ...
}

Или это невозможно?Мне нужно создать структуру в моем модуле и обновить внешнюю?

1 Ответ

0 голосов
/ 28 февраля 2019

Да, объявления типов должны присутствовать в каждом используемом модуле.То же самое для C ++ - вы не можете использовать struct A, если вы не объявили его в источнике или в каких-либо включениях.

Однако вы, похоже, работаете с указателем на эту структуру вваш код.AFAIK, в этом случае можно объявить пустую структуру и использовать указатель на нее.

...