Есть код на с++, который должен работать как код загрузочного сектора жесткого диска на процессоре х86 (соответственно до запуска любой ОС). Есть ли инструменты, позволяющие на выходе получить бинарный код безо всякой служебной информации, т.е. содержащий только то, что было в исходниках (естественно в компилированном виде).
r90 А рантайм библиотека с++ в этом случае какая-то особенная подключается? В смысле, что ОС нет, и по крайней мере память выделять требуется силами самой библиотеки.
MirrorBlack Я конечно нет, но рантайм с++ должен с памятью работать (и работает через api ОС в обычном случае). Отсюда и вопрос к r90: g++ и ld и больше ничего. Тогда куда деть рантайм библиотеку с++?
Никуда не девать рантайм. Просто не линковать с рантайм библиотекой и всё. Всё что нужно реализуешь сам. Watcom linker тоже бинарники собирает.
Что значит куда? Я думаю тут два варианта, либо отказаться от её использования, либо слинковать статически.
Вариант тут только один - отказаться. Или написать свой (разновидность отказаться ). Слинковать статически не вариант - рантайм использует OS API (к примеру WinAPI под Windows), которого просто нет до запуска ОС. А автор хотел именно выполнение до запуска "любой ОС".
биос вроде всегда доступен? o_O watcom или старый борланд 3.1 позволяет создавать .com файлы если это вам конечно что то скажет....