gcc и бинарик

Тема в разделе "LANGS.C", создана пользователем Piroman17, 17 дек 2008.

  1. Piroman17

    Piroman17 New Member

    Публикаций:
    0
    Регистрация:
    31 июл 2006
    Сообщения:
    7
    Раньше писал на ассемблере, решил перелесть на Си. вот возникла проблема :
    есть компилятор gcc, ОС linux.
    есть исходник вида:
    Код (Text):
    1. main (){
    2. //..
    3. //низкоуравневые операции не требующие библиотек и прочего
    4. //..
    5. }
    хочу скомпилить его в "чистый бинарик", т.е. без специфических для linux заголовков, стандартных либ и всего прочего. как пример: .com файл, только без отступа на 100h от начала.
    если скомпилить код с пустым main() то получается 8446 байт. при открытии в файле видны строки вида: "libc.so.6", "/lib64/ld-linux-x86-64.so.2" и тому подобное, а мне "мусор" не нужен.
    с какимми ключиками компилить?
     
  2. osrootd

    osrootd New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2008
    Сообщения:
    1.086
    Хоть одну назови!
    То есть нет stdiuo, stdlib, а есть только системные вызовы? То есть не libc?
     
  3. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    http://www.insidepro.com/kk/091/091r.shtml
     
  4. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923
    Piroman17 - посмотри ключи компилятора.
    Как минимум есть -nodefaultlibs и -nostdlib
     
  5. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    Если использовать только системные вызовы, то возможно ли сделать переносимое приложение в юниксах?
     
  6. osrootd

    osrootd New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2008
    Сообщения:
    1.086
    Можно все либы нужные в прогу включить вот как здесь:

    _____

    Эта прога не просто выводит текст.
    Она имеет на входе строку с кучей фигни типа "he______________l___lo__________"
    Удаляет фигню из строки и выводит чистое на экран, потом добавляет символ z

    Эта прога будет работать везде, даже на 64-разрядной мандриве хотя писалась в Fedora4

    Какие там либы стоят ей плевать
     
  7. osrootd

    osrootd New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2008
    Сообщения:
    1.086
    Осторожно
    Аттач может быть битый - глюк был в сети