Делаем gcc -o ex ex1.c ex2.o .
В конце этого процесса вызывается ld.
Откуда он берет настройки?
Как их узнать?
Как узнать дефолтные настройки линкера?
Модератор: Модераторы разделов
-
- Сообщения: 231
- ОС: Slackware
Re: Как узнать дефолтные настройки линкера?
А что именно нужно?
Основа - /etc/ld.conf Там прописаны пути к библиотекам (их описаниям) которые линкер может использовать для подключения.
Основа - /etc/ld.conf Там прописаны пути к библиотекам (их описаниям) которые линкер может использовать для подключения.
-
- Сообщения: 2250
Re: Как узнать дефолтные настройки линкера?
UserOnStart писал(а): ↑23.11.2010 05:59А что именно нужно?
Основа - /etc/ld.conf Там прописаны пути к библиотекам (их описаниям) которые линкер может использовать для подключения.
Нет нужно не это. Нужно приблизительно следующее.
Откуда линкер знает, что нужно собирать еlf
Откуда линкер знает, что нужно собирать dinamic
Откуда линкер знает, что нужно собирать c -lc
-
- Сообщения: 423
- ОС: Basic command interpreter
Re: Как узнать дефолтные настройки линкера?
есть версия что настройки задаются при компиляции
а узнать - чето с -Q было связано
а узнать - чето с -Q было связано
puts ("Working, please wait...");while(1);
-
- Сообщения: 2250
Re: Как узнать дефолтные настройки линкера?
shotdownsystem писал(а): ↑23.11.2010 14:38есть версия что настройки задаются при компиляции
а узнать - чето с -Q было связано
$ gcc -v
Используются внутренние спецификации.
Целевая архитектура: x86_64-redhat-linux
Параметры конфигурации: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Модель многопоточности: posix
gcc версия 4.4.4 20100630 (Red Hat 4.4.4-10) (GCC)
$
-
- Сообщения: 423
- ОС: Basic command interpreter
Re: Как узнать дефолтные настройки линкера?
-v это очевидно и обобщенно.
а конкретно -Q. ща помотрю как надо....
а конкретно -Q. ща помотрю как надо....
puts ("Working, please wait...");while(1);
-
- Модератор
- Сообщения: 1786
- Статус: Матёрый линуксоид
- ОС: Debian testing/unstable
Re: Как узнать дефолтные настройки линкера?
Порядок сборки бинарника определяется в т.н. linker script. См. ls /usr/lib/ldscripts/. Нужный скрипт указывает gcc (видимо, исходя из текущей архитектуры).
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
-
- Сообщения: 423
- ОС: Basic command interpreter
Re: Как узнать дефолтные настройки линкера?
gcc --help=что-то -Q
к примеру
gcc --help=target -Q
к примеру
gcc --help=target -Q
puts ("Working, please wait...");while(1);