Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Ferrari F1
791 / 521 / 156
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
#1

Зачем нужны ассемблерные вставки в Си (msvs) ? - C++

22.07.2015, 23:33. Просмотров 838. Ответов 13
Метки нет (Все метки)

Объясните мне, человеку, который пока не знает ассемблер, но который хочет его в дальнейшем изучать, на кой черт нужны ассемблерные вставки в Си++ (msvs) ?
http://www.cyberforum.ru/cpp-beginners/thread769530.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.07.2015, 23:33
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Зачем нужны ассемблерные вставки в Си (msvs) ? (C++):

Ассемблерные вставки в C++
Собственно сабж ...: Имею следующий код : short Carry = 2; unsigned short...

Ассемблерные вставки (Часть 3)
На 4 шаге ошибка -nan(ind). Не могу разобраться... #include<iostream> using...

Ассемблерные вставки, ошибка
Ошибка: 0xC0000095: Integer overflow. Код: mov eax,x sub eax,a mov ebx,x...

Ассемблерные вставки пример
помогите пожалуйста решить вот условие: y1 = 8 +|x|, если x<1 иначе y1 = ...

Как делаются ассемблерные вставки?
Я слышал, что в С++ можно вставлять вставки на асм, как это делается? Спасибо.

13
castaway
Эксперт С++
4926 / 3033 / 453
Регистрация: 10.11.2010
Сообщений: 11,089
Записей в блоге: 10
Завершенные тесты: 1
22.07.2015, 23:45 #2
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
на кой черт нужны ассемблерные вставки в Си++ (msvs) ?
Например для ручной оптимизации, или для того, чтобы использовать возможности архитектуры процессора не предоставляемые языком.
0
Ferrari F1
791 / 521 / 156
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
22.07.2015, 23:49  [ТС] #3
castaway, драйвера писать не собираюсь, хочу учить чисто в своих интересах
(дизассемблировать игры ) Правильно ли я понимаю, что для этих целей придется использовать связку Си++, winapi и ассемблерные вставки?
0
castaway
Эксперт С++
4926 / 3033 / 453
Регистрация: 10.11.2010
Сообщений: 11,089
Записей в блоге: 10
Завершенные тесты: 1
22.07.2015, 23:54 #4
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
(дизассемблировать игры ) Правильно ли я понимаю, что для этих целей придется использовать связку Си++, winapi и ассемблерные вставки?
Для реверс инженеринга ассемблерные вставки не нужны. Честно говоря, я вообще не понимаю зачем для этого C++ и WinAPI и ассемблерные вставки.
0
Ferrari F1
791 / 521 / 156
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
22.07.2015, 23:55  [ТС] #5
писать трейнеры, в большинстве случаев
0
castaway
Эксперт С++
4926 / 3033 / 453
Регистрация: 10.11.2010
Сообщений: 11,089
Записей в блоге: 10
Завершенные тесты: 1
23.07.2015, 00:00 #6
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
писать трейнеры, в большинстве случаев
В этом случае не нужны вставки, в WinAPI есть функции для подобных целей, например ReadProcessMemory и ей подобные.
0
Ferrari F1
791 / 521 / 156
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
23.07.2015, 00:01  [ТС] #7
castaway, хотел тебя еще спросить, у меня очень-очень плохое представление на счет win api, ибо пока основательно не изучу Си++, браться за другие языки или лезть в узкие направления, косвенно затрагивающие Си++ не хочу. Для чего в общих чертах нужен win api, что с его помощью делают?
0
shmkv
652 / 371 / 57
Регистрация: 21.07.2015
Сообщений: 1,059
23.07.2015, 00:02 #8
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
Правильно ли я понимаю, что для этих целей придется использовать связку Си++, winapi и ассемблерные вставки?
Дизассемблер не выдает код на Си++, он выдает ассемблерный листинг, причем в обезличенном виде (нет имен меток и пр.). Си++ теоретически можно вообще не знать, хотя неплохо бы понимать как работают компиляторы. Знать WinApi потребуется, если ломаемая программа под Windows.
0
castaway
Эксперт С++
4926 / 3033 / 453
Регистрация: 10.11.2010
Сообщений: 11,089
Записей в блоге: 10
Завершенные тесты: 1
23.07.2015, 00:04 #9
WinAPI - Windows Application Programming Interface. Грубо говоря, это набор функций, необходимый для написания приложений под ОС Windows.
0
Ferrari F1
791 / 521 / 156
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
23.07.2015, 00:06  [ТС] #10
castaway, shmkv, через win api создается оконный интерфейс (кнопки, формы окон, шрифт, надписи, размеры окон) ?
0
shmkv
652 / 371 / 57
Регистрация: 21.07.2015
Сообщений: 1,059
23.07.2015, 00:09 #11
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
через win api создается оконный интерфейс (кнопки, формы окон, шрифт, надписи, размеры окон) ?
В т. ч. и это. Вообще API - это программный интерфейс для общения с компонентами ОС. В данном случае Windows.
0
Ferrari F1
791 / 521 / 156
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
23.07.2015, 00:18  [ТС] #12
Цитата Сообщение от shmkv Посмотреть сообщение
Дизассемблер не выдает код на Си++, он выдает код на ассемблерный листинг, причем в обезличенном виде (нет имен меток и пр.).
Понятное дело. Си++ и ассемблерные вставки я упомянул в предположение того, что если я покапаюсь в процессе игры и нахожу необходимые инструкции, делаю инъекцию кода (т.е. перенаправляю процесс на собственный ассемблерный скрипт и потом обратно в игру) Мне же нужно как то обернуть этот асм. скрипт в высокоуровневую оболочку, вот поэтому и спросил про Си++ и про вставки

Добавлено через 5 минут
shmkv, castaway, чем отличается использование windows forms от win api в этом плане? и там и там ведь происходит контакт с интефейсом ОС?
0
castaway
Эксперт С++
4926 / 3033 / 453
Регистрация: 10.11.2010
Сообщений: 11,089
Записей в блоге: 10
Завершенные тесты: 1
23.07.2015, 00:30 #13
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
castaway, shmkv, через win api создается оконный интерфейс (кнопки, формы окон, шрифт, надписи, размеры окон) ?
Не обязательно. WinAPI включает в себя весь функционал ОС, начиная от службы, работающей в фоновом режиме без окон, до разнообразного графического интерфейса.

Цитата Сообщение от Ferrari F1 Посмотреть сообщение
shmkv, castaway, чем отличается использование windows forms от win api в этом плане?
С Windows Forms ни разу не работал (надеюсь и не придётся), сказать ничего не могу.
0
shmkv
652 / 371 / 57
Регистрация: 21.07.2015
Сообщений: 1,059
23.07.2015, 00:40 #14
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
shmkv, castaway, чем отличается использование windows forms от win api в этом плане? и там и там ведь происходит контакт с интефейсом ОС?
Windows forms где-то очень глубоко в недрах .NET вызывает те же WinApi функции. Windows forms - это объектная высокоуровневая библиотека классов, они преследуют разные цели: Windows forms - удобство использования и максимальную скорость разработки, а WinApi максимально обеспечивает возможности ОС в сочетании максимальной совместимостью со всеми языками и средами (можно писать хоть на ассемблере).
0
23.07.2015, 00:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.07.2015, 00:40
Привет! Вот еще темы с решениями:

Ассемблерные вставки в Visual DSP++
Добрый вечер, необходимо вставить ассемблерный код ( или файл на ассемблере...

Ассемблерные вставки: возведение числа в степень
Привет! Подскажите как это(Возведение числа в степень ) можно реализовать в...

Ассемблерные вставки в C++. Алгоритм сортировки слиянием
Нужна помощь.Необходимо реализовать алгоритм сортировки слиянием по возрастанию...

Счетчик считающий нажатие клавиши (ассемблерные вставки)
Я ещё новичок и не очень шарю в программировании,если кто поможет буду...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru