LINUX.ORG.RU

компиляция в a.out формат


0

0

Как скомпилировать простую программку через "cc" или "gcc" (кстати, в чём разница между ними? и что такое g++?) в формат a.out

я компилирую так: "cc file.c"
"file a.out":
a.out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.4.1, dynamically linked (uses shared libs), not stripped

★★★★

Re: компиляция в a.out формат

Зачем тебе a.out? Это очень старый формат. Сейчас все в ELF компилится. A g++ это обвертка к gcc для сборки C++ прог.

svyatogor ★★★★★ ()
Ответ на: Re: компиляция в a.out формат от svyatogor

Re: Re: компиляция в a.out формат

И правда - зачем =) Тогда так спрошу: как собрать бинарник, который бы не зависил от других библиотек? Кажется это называется static linking?

Selecter ★★★★ ()
Ответ на: Re: Re: компиляция в a.out формат от Selecter

Re: Re: Re: компиляция в a.out формат

>Тогда так спрошу: как собрать бинарник, который бы не зависил от других библиотек?

Просто передай gcc ключ -static. Вообще то man gcc рулит, ну да ладно :)

P.S. А че ты вообще пытаешься сделать? Опиши конечную цель, может для нее есть лучше решение...

svyatogor ★★★★★ ()
Ответ на: Re: Re: компиляция в a.out формат от Selecter

Re: Re: Re: компиляция в a.out формат

BTW, на современном Линуксе почти невозможно слинковать прогу ДЕЙСТВИТЕЛЬНО статически. Чтобы это сделать, требуется сначала самому собрать специальную версию libc (с отключенной NSS).

Я пару лет назад в это стукнулся, вот тут немного про это: http://www.linux.org.ru/view-message.jsp?msgid=211297

Die-Hard ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.