Форум программистов, компьютерный форум 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. То есть сделать эти окна в качестве... подробнее

Показать сообщение отдельно
DrOffset
6461 / 3835 / 886
Регистрация: 30.01.2014
Сообщений: 6,630
29.07.2015, 18:51     Что такое "position-independent code" (-fPIC in gcc) ?
Цитата Сообщение от Butt-Head Посмотреть сообщение
Хмм, тогда получается фраза When would you use it? How are EXE and DLL's compiled with this regard in Windows? с подвохом и собирается всё и так с этим флагом и разницы между DLL-кой и EXE как бы нет ?
Я не совсем там верно написал. В windows вообще position-independent code для DLL в том смысле, в котором оно есть в UNIX, не используется.
Адреса внутри Dll строятся относительно предпочтительного базового адреса, т.е. адреса заранее фиксированы. При загрузке Dll, если базовый адрес занят, то система производит перебазирование Dll, в том числе перевычисление каждого абсолютного адреса и изменение кода для осуществления использования новых адресов. После перебазирования библиотека перестает быть разделяемой, т.е. экономии памяти для динамически загружаемых библиотек уже не происходит. Но если базовый адрес не занят, то библиотека может быть использована разделяемо. По этой причине системные библиотеки имеет заранее предвычисленные базовые адреса, чтобы они не пересекались и перебазирование не происходило.

Добавлено через 2 минуты
Вот нашел небольшую статью в сравнении с Linux so: http://www.symantec.com/connect/arti...ndows-part-one
 
Текущее время: 05:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru