Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как сгенерить ассемблерный листинг? 
:(
    Опции темы
ТарасАтавин
Дата 7.9.2013, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 26.8.2013

Репутация: нет
Всего: нет



Какая командная строка? Я опцию задал -S Test.cpp. А командную строку я вообще не знаю, как сочинить.


--------------------
Не так всё плохо, как оно есть на самом деле.
PM MAIL   Вверх
ChipNDale
Дата 7.9.2013, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 11.6.2010

Репутация: 1
Всего: 1



Код

:: Установка переменных окружения
> "C:\Program Files (x86)\CodeBlocks\MinGW\mingwvars.bat"

:: Убеждаемся, что в текущем каталоге есть файл main.cpp
> dir
...
main.cpp
...

:: Его содержимое - Hello, World
> type main.cpp
#include <iostream>
:: остальной вывод опущен

> g++ -S main.cpp
> type main.s
:: Видим ассемблерный код


Это сообщение отредактировал(а) ChipNDale - 7.9.2013, 18:08
PM MAIL   Вверх
ТарасАтавин
Дата 7.9.2013, 18:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 26.8.2013

Репутация: нет
Всего: нет



Цитата(ChipNDale @  7.9.2013,  17:59 Найти цитируемый пост)
CodeBlocks\MinGW\mingwvars.bat"
А у меня нет такого файла.



--------------------
Не так всё плохо, как оно есть на самом деле.
PM MAIL   Вверх
tzirechnoy
Дата 7.9.2013, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: 2
Всего: 16



Опять жэ, по гуглению: возьмите командную строку (обычную, без -S) из вывода codeblocks со включённым "Compile settings" -> "advanced options" -> "show full command line"
Попробуйте запустить терминал (cmd.exe) и запустить её в этом терминале. Скорее всего, для успешной работы придётся перейти в каталог Вашэго проекта.

Когда запустите (и оно скомпилируется) -- начните модифицыровать эту командную строку, чтобы получить ассэмблерный листинг. Для этого во-первых, оставьте в строке только один файл C++ (обычно -- это файлы с расшырением .cpp), добавьте опцыю -S и замените опцыю -o траляляля на -o что-нибудь.S
PM MAIL   Вверх
ChipNDale
Дата 8.9.2013, 07:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 11.6.2010

Репутация: 1
Всего: 1



Цитата(ТарасАтавин @  7.9.2013,  21:59 Найти цитируемый пост)
А у меня нет такого файла.

В нем не происходит ничего сверхъестественного, всего лишь установка переменных окружения (добавление пути к g++ в PATH, еще что-нибудь). Основная идея не меняется: открыть консоль, передать компилятору опцию -S и cpp-файл. На выходе будет сгенерирован файл .s с ассемблерным кодом.
PM MAIL   Вверх
akizelokro
Дата 8.9.2013, 07:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


Профиль
Группа: Участник
Сообщений: 761
Регистрация: 30.7.2007

Репутация: 1
Всего: 5



Там опции смотреть надо. я по minGW нулевый, вообще не работал.
Есть, кстати, и возможность написать makefile и запускать его.
Хотя формат makefile'ов более-менее понятен и однообразен для всех компиляторов.



Это сообщение отредактировал(а) akizelokro - 8.9.2013, 07:58


--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
ChipNDale
Дата 8.9.2013, 08:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 11.6.2010

Репутация: 1
Всего: 1



Цитата(akizelokro @  8.9.2013,  10:56 Найти цитируемый пост)
Там опции смотреть надо. я по minGW нулевый, вообще не работал.

То, что я приводил в посте выше, было под виндой с mingw, так что ничего хитрого.
PM MAIL   Вверх
akizelokro
Дата 8.9.2013, 08:19 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


Профиль
Группа: Участник
Сообщений: 761
Регистрация: 30.7.2007

Репутация: 1
Всего: 5



Цитата(ChipNDale @  8.9.2013,  08:06 Найти цитируемый пост)
То, что я приводил в посте выше, было под виндой с mingw, так что ничего хитрого. 


Вообщем, пусть Тарас сядет за изучение опций компилятора, потратит полдня и сам сообразит, какие опции ему прописать надо.
И эта..
Прежде чем в командной строке запустить "gcc ..", пусть не забудет перейти в каталог, где этот main.cpp находится


Это сообщение отредактировал(а) akizelokro - 8.9.2013, 08:22


--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
ТарасАтавин
Дата 13.9.2013, 05:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 26.8.2013

Репутация: нет
Всего: нет



В project build options->compile settings нет адвансовых опций.

Добавлено через 5 минут и 21 секунду
Цитата(akizelokro @  8.9.2013,  08:19 Найти цитируемый пост)
Вообщем, пусть Тарас сядет за изучение опций компилятора,
А как?



--------------------
Не так всё плохо, как оно есть на самом деле.
PM MAIL   Вверх
akizelokro
Дата 13.9.2013, 07:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Крокодил
**


Профиль
Группа: Участник
Сообщений: 761
Регистрация: 30.7.2007

Репутация: 1
Всего: 5



Цитата

А как?


там же есть всякие хелповники и манулы, в инете надыбай по запросу "codeblocks command line option"
Тут, например, короткий вариант.
Или запусти через опцию "codeblocks -h", на экране будет их список и краткое описание. А "codeblocks -h >>1.txt" выдаст это описание сразу в текстовый файл вместо экрана.

Потом же, впиши путь к codeblocks под Винду в переменную PATH, если не получится, то придётся либо упорядочить через makefile, либо указывать имена файлов в полной форме. Например, "C:\где-то-там\codeblocks <список-опций> <полное-имя-файла-с-путём>. Если в коммандной строке *Nix'а или DOS работал, вспомнишь прошлое. 
И FAR тебе в помощь!

Есть же, потом, если не найдешь (или должны быть) форумы кодоблоковцев и адреса электронной почты у них в поддержке. Если быстро ничего не находишь, то, значит, в глобальной свалке мусора уже ничего и не найдёшь (философски) и пишешь тогда по этим адресам. А если и там ничего, я могу на Линкедине запросить и помочь.

Это сообщение отредактировал(а) akizelokro - 13.9.2013, 07:55


--------------------
a = a + b; b = a - b; a = a - b;
PM MAIL   Вверх
tzirechnoy
Дата 13.9.2013, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: 2
Всего: 16



Вот что говорит текущая документацыя на сайте CodeBlocks: <<During the build process of a project, the compiler messages are displayed in the Messages window in the Build Log tab. If you wish to receive detailed information, the display can be extended. For this purpose click *Settings* /*Compiler and Debugger* and select *Other Settings* in the drop-down field. Figure 1.13: Setting detail information Take care that the correct compiler is selected. The *Full command line* setting in the Compiler Logging field outputs the complete information in the Build Log. >>
PM MAIL   Вверх
ТарасАтавин
Дата 14.9.2013, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 26.8.2013

Репутация: нет
Всего: нет



Так опции набираются нижним регистром? Спасибо.


--------------------
Не так всё плохо, как оно есть на самом деле.
PM MAIL   Вверх
mes
Дата 14.9.2013, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(ТарасАтавин @  14.9.2013,  10:42 Найти цитируемый пост)
Так опции набираются нижним регистром?

и верхним тоже  smile  


--------------------
PM MAIL WWW   Вверх
ChipNDale
Дата 15.9.2013, 07:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 11.6.2010

Репутация: 1
Всего: 1



Цитата(ТарасАтавин @  14.9.2013,  14:42 Найти цитируемый пост)
Так опции набираются нижним регистром?

Выше в теме была ссылка на ман gcc, там есть опции и в верхнем, и в нижнем регистре.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0683 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.