Компилирование С++ кода в бинарный

Тема в разделе "LANGS.C", создана пользователем sopot, 18 май 2009.

  1. sopot

    sopot New Member

    Публикаций:
    0
    Регистрация:
    18 май 2009
    Сообщения:
    3
    Есть код на с++, который должен работать как код загрузочного сектора жесткого диска на процессоре х86 (соответственно до запуска любой ОС). Есть ли инструменты, позволяющие на выходе получить бинарный код безо всякой служебной информации, т.е. содержащий только то, что было в исходниках (естественно в компилированном виде).
     
  2. ohne

    ohne New Member

    Публикаций:
    0
    Регистрация:
    28 фев 2009
    Сообщения:
    431
    https://www.wasm.ru/forum/viewtopic.php?id=24789
     
  3. r90

    r90 New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2005
    Сообщения:
    898
    Естественно есть такие утилиты. g++ и ld могут это.
     
  4. sopot

    sopot New Member

    Публикаций:
    0
    Регистрация:
    18 май 2009
    Сообщения:
    3
    r90 А рантайм библиотека с++ в этом случае какая-то особенная подключается? В смысле, что ОС нет, и по крайней мере память выделять требуется силами самой библиотеки.
     
  5. MirrorBlack

    MirrorBlack Алексей

    Публикаций:
    0
    Регистрация:
    21 июн 2008
    Сообщения:
    249
    Адрес:
    Moscow
    sopot
    Если нет ОС, у кого ты собрался память просить?
    Всё что есть - всё ваше :)
     
  6. sopot

    sopot New Member

    Публикаций:
    0
    Регистрация:
    18 май 2009
    Сообщения:
    3
    MirrorBlack
    Я конечно нет, но рантайм с++ должен с памятью работать (и работает через api ОС в обычном случае).
    Отсюда и вопрос к r90: g++ и ld и больше ничего. Тогда куда деть рантайм библиотеку с++?
     
  7. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    ну рантайм ясен пень придется писать свой с нуля.
    думаю это должно быть очевидно
     
  8. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923
    Никуда не девать рантайм.
    Просто не линковать с рантайм библиотекой и всё.
    Всё что нужно реализуешь сам.
    Watcom linker тоже бинарники собирает.
     
  9. r90

    r90 New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2005
    Сообщения:
    898
    Что значит куда? Я думаю тут два варианта, либо отказаться от её использования, либо слинковать статически.
     
  10. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923
    Вариант тут только один - отказаться. Или написать свой (разновидность отказаться :) ).
    Слинковать статически не вариант - рантайм использует OS API (к примеру WinAPI под Windows), которого просто нет до запуска ОС.
    А автор хотел именно выполнение до запуска "любой ОС".
     
  11. reversecode

    reversecode Guest

    Публикаций:
    0
    биос вроде всегда доступен? o_O
    watcom или старый борланд 3.1
    позволяет создавать .com файлы

    если это вам конечно что то скажет....