|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.07.2013, 15:25 | #1 |
Пользователь
Регистрация: 09.04.2011
Сообщений: 49
|
Тип объектного файла, который компилят gcc и g++
Есть toolchain от производителя в виде arm-elf-gcc.exe и arm-elf-g++.exe.
При компиляции исходника с помощью gcc в объектный файл (с ключами -c -o) генерится объектный файл формата elf. А при компиляции с помощью g++ (другого исходника, разумеется, плюсового, но с теми же ключами -c -o) генерится объектный файл непонятного формата: начинается с "gpch+013h...". Может ли сам компилятор arm-elf-g++.exe изначально быть настроенным так, чтобы компилить определенный тип объектников или это можно как-то настроить? Настройку такую в параметрах я не нахожу: в компиляторе можно только задать имя выходного файла. Еще есть параметры ассемблера, но там тоже не указывается формат. Если этот параметр есть как "данность", то смогу обратиться к производителю с вопросом. Но возможно это как-то все-таки настраивается? |
16.07.2013, 15:34 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
как бы он arm-elf-g++, не находите?
а так тогда линкуйте руками, а не автоматом. тогда надо смотреть параметры ld, и там может есть иные форматы. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
17.07.2013, 07:28 | #3 | |
Пользователь
Регистрация: 09.04.2011
Сообщений: 49
|
Это меня и побудило обратиться сюда.
Цитата:
У меня вызывается вручную компилятор (в него встроен некий линкер как я понял, который позволяет получить объектный файл), а затем архиватор ar, чтобы получить либу.a. А проект весь собирается ld уже потом, там вручную никак, уже есть огромная система make-ов в каждой папке. |
|
17.07.2013, 08:50 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
посмотрел, не нашел как можно сменить тип объектного файла при ключе -c.
поидее ld это умеет, если он в принципе поддерживает иные форматы(запустить с ld --help, там посмотреть supported targets). только чем вас эльфы не устроили? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
17.07.2013, 09:20 | #5 | |
Пользователь
Регистрация: 09.04.2011
Сообщений: 49
|
Цитата:
Я по ходу понял в чем проблема. Получается что формат elf на выходе генерится эльфовыми компиляторами (такими как например мои с префиксом arm-elf-): gcc делает из .c файла, g++ из .cpp файла. Но g++ не делает такой файл из .c файла! Неужели так строго надо соблюдать расширение, он сам не может определить на каком си написан файл если там просто .c?... |
|
17.07.2013, 09:28 | #6 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Буквы pch ассоциируются с PreCompiledHeaders - может это такой файл?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Разбор объектного файла | Osanve | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 11 | 09.06.2012 13:08 |
Можно ли динамически (во время работы программы) задавать тип, который содержится в контейнере (например в vector)? | RomanA | Visual C++ | 3 | 25.04.2012 05:28 |
Тетрады и генерация объектного кода | Lazio | Фриланс | 1 | 23.12.2010 18:20 |
есть ли проигрователь, который воспроизводит 2 или 4 файла одновременно | Анастасия 777 | Софт | 3 | 03.12.2009 11:35 |
Какой тип с/c++ больше всего напоминает компилятор gcc и g++ Который используется в UNIX-подобных система | Иллидан | Свободное общение | 4 | 28.03.2008 02:29 |