Форум программистов, компьютерный форум CyberForum.ru

Что такое "position-independent code" (-fPIC in gcc) ? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Наиболее быстрый способ сортировки файла в 1 Тб при ограниченном объёме оперативной памяти http://www.cyberforum.ru/cpp-beginners/thread1506526.html
Привет! Какой есть наиболее быстрый способ сортировки файла, содержащего int-ы (по одному int-у на каждой строчке), размером в 1 террабайт, если на компе, к примеру, доступно всего 2 гб оперативки ... ? Ну файл с нитами типа: 1 2 3 4 6346546 234524234 656546546
C++ Наиболее быстрый способ сравнения двух экземпляров структур на предмет одинаковости их полей Есть структура, в которой есть несколько int-ов и char-ов, какой имеется наиболее быстрый способ в C/C++ для сравнения двух экземпляров этой структуры на предмет полного совпадения значений полей? Я полагаю, что memcmp? (почленово сравнивать структуры наверное далеко не самый быстрый способ...) struct Item { int a; int b; char c; http://www.cyberforum.ru/cpp-beginners/thread1506522.html
C++ Заменить "fopen" в c++ на "TOpenDialog" в Builder6
Здравствуйте дорогие форумчане! 1. Что дано: По результатам чтения 1 части книги Пахомова "C++ Для начинающих" написал программу-конвертер. Состоит она из двух частей. Первая - считывает данные из файла *.txt в массив. Вторая - форматирует данные нужным образом и выводит в новый *.txt файл. Общение с файлами организовывал так: FILE * pFile; pFile = fopen ("input.txt" , "r");
Приведение массива char[] (или char* ) в LPCTSTR C++
Задача: пользователь вводит директорию, нужно проверить существует ли эта директория. Функция DirExists проверки работает правильно, но аргумент у этой функции имеет тип LPCTSTR, клиент вводит строку (char или char*) преобразование в LPCTSTR происходит неверно. Просьба помочь преобразовать в LPCTSTR. #include "stdafx.h" #include "stdafx.h" #include <windows.h> #include <stdio.h>...
C++ Формула поворота объекта http://www.cyberforum.ru/cpp-beginners/thread1506436.html
Здравствуйте! Подскажите, пожалуйста, формулу, по которой можно рассчитать угол ( в радианах ) поворота объекта так, чтобы он смотрел на другой объект. Что-то не получается объяснить на словах, по этому я прикрепил картинку. Нужно просто синенькую фигуру повернуть на красную. Спасибо.
Visual C++ Вид главного окна приложения MFC Не большой знаток MFC, однако читаю в интернете инфу возник следующий вопрос. Как в главном окне сделать область со своей менюшкой, то есть в правой части окна воткнуть (как в билдере align rigth) что-нибудь, типа панельки с кнопками, эдитами и прочим, а в низу окна сделать аналогично (align bottom), только не меню, а окно с табличкой, наверное CListCtrl. То есть сделать эти окна в качестве... подробнее

Показать сообщение отдельно
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,829
Записей в блоге: 2
Завершенные тесты: 1
29.07.2015, 16:31     Что такое "position-independent code" (-fPIC in gcc) ?
GCC Полное руководство.
-fpic
Компилятор генерирует независимый от положения в памяти, перемещаемый объектный код (position independent code, PIC). Такой формат необходим для получения модулей, используемых в составе динамической разделяемой библиотеки (shared library). Вся внутренняя адресация строится с использованием глобальной таблицы смешений (global offset table, GOT). При определении любого адреса содержащееся в таблице значение складывается с начальным адресом загрузки кода.
Опция используется при компиляции модулей, предназначенных для сохранения в разделяемых объектных библиотеках для их последующей динамической загрузки оттуда и использования программами во время их выполнения.
Если при использовании опции -fpic компоновщик выдает сообщение ошибки о том, что перемещаемый объектный код не работает, то следует перекомпилировать исходник с опцией -fPIC.
Некоторые системы имеют ограничение на размер таблицы смещений. Для процессора "Motorola m88k" предельный размер таблицы равен 16k, для "m68k" и "RS/6000" он равен 32k, для "Sparc" - 8k. PIC-код требует наличия определенной аппаратной поддержки и вследствие этоrо может работать только на платформах, имеющих такую поддержку.

-fPIC
Эта опция имеет то же значение, что и -fpic, но у нее есть дополнительные возможности, позволяющие обходить действующие на некоторых платформах ограничения размера таблиц смещений перемещаемого объектного кода. Такие ограничения действуют на машинах Motorola m88k, m68k и Sparc.
 
Текущее время: 00:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru