- PIC и PIE — это одно и то же понятие. Если это верно, я бы хотел использовать PIC для обозначения PIC/PIE.
- PIC, похоже, является «атрибутом» двоичного кода, какой тип двоичного кода может быть выполнен независимо в какую ячейку памяти он загружен. Это правильно?
- PIC/no-PIC не имеет прочной связи со статически/динамически связанным исполняемым файлом. Теоретически мы можем комбинировать PIC/non-PIC со статически/динамически связанным исполняемым файлом любым способом. Я заметил несколько интересных опций в руководстве по gcc, таких как «-static», «--static-pie», «-fno-pic», «-fpic». Я предполагаю, что:
- "-static" создаст исполняемый файл без изображения.
- "--static-pie" создаст исполняемый файл PIC, который содержит некоторые неизвестные символы, которые необходимо разрешить во время выполнения.
- "-fpic" — это метод gcc по умолчанию при создании общей библиотеки.
< li>"-fno-pic" обычно используется в некоторых особых случаях, например, при создании операционной системы.
Подробнее здесь: https://stackoverflow.com/questions/784 ... ed-executa