Вопросы с тегом «linker»

Компоновщик является частью набора инструментов для создания исполняемых файлов из исходного кода, написанного на скомпилированных языках программирования. Он принимает скомпилированный объектный код из нескольких файлов и создает из них один «связанный» исполняемый файл.

12
Возможно ли скомпилировать Python в машинный код?
Насколько возможно было бы скомпилировать Python (возможно, через промежуточное представление C) в машинный код? Предположительно, это должно быть связано с библиотекой времени выполнения Python, и любые части стандартной библиотеки Python, которые сами являются Python, также должны быть скомпилированы (и связаны). Кроме того, вам потребуется связать интерпретатор Python, если вы хотите …
128 python  c  linker  compilation 

5
Как определить целевую архитектуру статической библиотеки (.a) в Mac OS X?
Мне интересно проверить, создана ли данная статическая библиотека iPhone для ARM или Intel. Это больше любопытство, чем что-либо еще. Есть ли для этого какой-нибудь специальный инструмент для Mac OS X или BSD? В этом посте приводится пример для Linux.

2
Маленькая программа на Haskell, скомпилированная с помощью GHC, в огромный двоичный файл
Даже тривиально маленькие программы на Haskell превращаются в гигантские исполняемые файлы. Я написал небольшую программу, которая была скомпилирована (с помощью GHC) в двоичный файл размером более 7 МБ! Что может заставить даже небольшую программу на Haskell компилироваться в огромный двоичный файл? Что я могу сделать, чтобы уменьшить это?

1
Что происходит с глобальными и статическими переменными в разделяемой библиотеке, когда она динамически связана?
Я пытаюсь понять, что происходит, когда модули с глобальными и статическими переменными динамически связываются с приложением. Под модулями я подразумеваю каждый проект в решении (я много работаю с Visual Studio!). Эти модули либо встроены в * .lib, либо * .dll, либо в сам * .exe. Я понимаю, что двоичный файл …

4
Что делают линкеры?
Мне всегда было интересно. Я знаю, что компиляторы преобразуют код, который вы пишете, в двоичные файлы, но что делают компоновщики? Они всегда были для меня загадкой. Я примерно понимаю, что такое «связывание». Это когда в двоичный файл добавляются ссылки на библиотеки и фреймворки. Я ничего не понимаю, кроме этого. Для …

1
Что делает флаг компоновщика -all_load?
Я нигде не могу найти, что делает флаг -all_load при компиляции кода Objective-C. У меня есть некоторые проблемы с загрузкой двоичных файлов в Apple, они говорят, что это потому, что я не использовал этот флаг, но мой код компилируется даже без него. Кто-нибудь может мне с этим помочь? Спасибо

8
Visual C ++: как отключить определенные предупреждения компоновщика?
Я использую библиотеку из CGAL, которая на этапе компоновки моего кода компиляции выдает множество предупреждений о компоновке в этой форме: warning LNK4099: PDB 'vc80.pdb' was not found with 'gmp-vc80-mt-sgd.lib' or at 'vc80.pdb'; linking object as if no debug info Как отключить это предупреждение компоновщика в Visual C ++ / Studio …

23
Почему при компиляции проекта C ++ в Visual Studio возникает фатальная ошибка «LNK1104: невозможно открыть файл« C: \ Program.obj »»?
Я создал новый проект на C ++ в Visual Studio 2008. Код еще не написан; Изменились только настройки проекта. Когда я компилирую проект, я получаю следующую фатальную ошибку: фатальная ошибка LNK1104: невозможно открыть файл 'C: \ Program.obj'
117 visual-c++  linker 

4
Как я могу сделать ссылку на конкретную версию glibc?
Когда я компилирую что-то на своем ПК с Ubuntu Lucid 10.04, оно связывается с glibc. Lucid использует glibc версии 2.11. Когда я запускаю этот двоичный файл на другом компьютере с более старой версией glibc, команда не сообщает, что glibc 2.11 ... Насколько мне известно, в glibc используется управление версиями символов. …
111 linux  gcc  linker  glibc  libc 

4
Как мне сделать полностью статически связанный .exe с Visual Studio Express 2005?
В настоящее время я предпочитаю среду C ++ - бесплатную и в значительной степени превосходную версию Microsoft Visual Studio 2005 Express. Время от времени я отправлял другим людям файлы с расширением .exe, что давало хорошие результаты. Однако недавно я сделал тревожное открытие, что приятные результаты были основаны на большем удаче, …


8
статическая компоновка только некоторых библиотек
Как я могу статически связать только некоторые определенные библиотеки с моим двоичным файлом при связывании с GCC? gcc ... -static ...пытается статически связать все связанные библиотеки, но у меня нет статической версии некоторых из них (например: libX11).

6
Для чего нужен __gxx_personality_v0?
Это вопрос из вторых рук с сайта разработки ОС, но он вызвал у меня любопытство, так как я нигде не мог найти достойного объяснения. При компиляции и компоновке автономной программы на C ++ с использованием gcc иногда возникает такая ошибка компоновщика: out/kernel.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0' Очевидно, это связано с …
103 c++  gcc  linker  kernel 

3
Безопасно ли связывать объекты C ++ 17, C ++ 14 и C ++ 11
Предположим, у меня есть три скомпилированных объекта, созданных одним и тем же компилятором / версией : A был скомпилирован со стандартом C ++ 11 B был скомпилирован по стандарту C ++ 14 C был скомпилирован со стандартом C ++ 17 Для простоты предположим, что все заголовки были написаны на C …
103 c++  c++11  linker  c++14  abi 

16
Разбиение шаблонных классов C ++ на файлы .hpp / .cpp - возможно ли?
Я получаю ошибки при попытке скомпилировать класс шаблона C ++, который разделен между a .hppи .cppfile: $ g++ -c -o main.o main.cpp $ g++ -c -o stack.o stack.cpp $ g++ -o main main.o stack.o main.o: In function `main': main.cpp:(.text+0xe): undefined reference to 'stack<int>::stack()' main.cpp:(.text+0x1c): undefined reference to 'stack<int>::~stack()' collect2: ld …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.