Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.07.2013, 15:25   #1
tiger()
Пользователь
 
Регистрация: 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 изначально быть настроенным так, чтобы компилить определенный тип объектников или это можно как-то настроить? Настройку такую в параметрах я не нахожу: в компиляторе можно только задать имя выходного файла. Еще есть параметры ассемблера, но там тоже не указывается формат.

Если этот параметр есть как "данность", то смогу обратиться к производителю с вопросом. Но возможно это как-то все-таки настраивается?
tiger() вне форума Ответить с цитированием
Старый 16.07.2013, 15:34   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

как бы он arm-elf-g++, не находите?
а так тогда линкуйте руками, а не автоматом.
тогда надо смотреть параметры ld, и там может есть иные форматы.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 17.07.2013, 07:28   #3
tiger()
Пользователь
 
Регистрация: 09.04.2011
Сообщений: 49
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
как бы он arm-elf-g++, не находите?
Это меня и побудило обратиться сюда.

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
а так тогда линкуйте руками, а не автоматом. тогда надо смотреть параметры ld, и там может есть иные форматы.
Еще более руками?
У меня вызывается вручную компилятор (в него встроен некий линкер как я понял, который позволяет получить объектный файл), а затем архиватор ar, чтобы получить либу.a. А проект весь собирается ld уже потом, там вручную никак, уже есть огромная система make-ов в каждой папке.
tiger() вне форума Ответить с цитированием
Старый 17.07.2013, 08:50   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

посмотрел, не нашел как можно сменить тип объектного файла при ключе -c.
поидее ld это умеет, если он в принципе поддерживает иные форматы(запустить с ld --help, там посмотреть supported targets).
только чем вас эльфы не устроили?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 17.07.2013, 09:20   #5
tiger()
Пользователь
 
Регистрация: 09.04.2011
Сообщений: 49
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
посмотрел, не нашел как можно сменить тип объектного файла при ключе -c.
поидее ld это умеет, если он в принципе поддерживает иные форматы(запустить с ld --help, там посмотреть supported targets).
только чем вас эльфы не устроили?
Эльфы наоборот устраивают.
Я по ходу понял в чем проблема. Получается что формат elf на выходе генерится эльфовыми компиляторами (такими как например мои с префиксом arm-elf-): gcc делает из .c файла, g++ из .cpp файла.
Но g++ не делает такой файл из .c файла! Неужели так строго надо соблюдать расширение, он сам не может определить на каком си написан файл если там просто .c?...
tiger() вне форума Ответить с цитированием
Старый 17.07.2013, 09:28   #6
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

Буквы pch ассоциируются с PreCompiledHeaders - может это такой файл?
waleri вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разбор объектного файла 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