Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Fusix
0 / 0 / 0
Регистрация: 08.10.2010
Сообщений: 133
#1

C++ И ASM - C++

19.02.2012, 13:07. Просмотров 624. Ответов 1
Метки нет (Все метки)

Всем привет. Мне нужно создать функцию на С++, но особенную.
Мне нужно, чтобы она была пустая, при void Func(){}, компилятор уже добавляет туда
Assembler
1
2
3
4
5
6
PUSH EBP
MOV EBP,ESP
PUSH ECX
PUSH EBX
PUSH ESI
PUSH EDI
И все такое. Мне нужна пустая функция. Как это сделать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.02.2012, 13:07     C++ И ASM
Посмотрите здесь:

asm в VS - C++
вот такой код не работает. строит нормально, но во время запуска выводит "необр. искл" пытаюсь запустить слип() #include <Windows.h> ...

C++ и ASM - C++
Всем привет. Необходимо посчитать уравнение на языке ASM и вывести ответ на языке С++. Вот готовая программа на ASM с выводом на...

c++ asm - C++
_asm {} какие библиотеки нужно подключать , чтобы заставить работать ассемблер на с++ и как правильно записывать всё это дело ...

Asm + C++ - C++
Помогите на C++ считает нормально , а на asm #include<iostream> #include<stdio.h> #include <iomanip> using namespace std; bool...

c++ и ASM - C++
помогите найти ошибку #pragma once #include <stdlib.h> #include <iostream> class bbyte { private: void...

Вставка asm в С++ - C++
Здравствуйте! Помогите пожалуйста! Задание: Вычислить арифметическое выражение. Требуется написать функцию на языке C++ с вставкой на...

Прерывания asm - C++
Не могу использовать прерывания(int) в встроенном ассемблере. Вылезает ошибка доступа. Помогите пожалуйста помогите.

C++ + ASM FASM - C++
Всем привет. Можно ли в с++ коде вызывать функции написанные на FASM синтаксисе? Visual Studio 2012

Asm в Builder - C++
Делаю ассемблеровскую вставку в Builder 6; в консоле. Проблема в 14 строке int main(int argc, _TCHAR* argv) { short S, R, Q; ...

asm вставка в C++ - C++
#include <iostream> int a = 10; void func( int& aIn ) { __asm { mov aIn, 15 } }

asm вставка в C++ - C++
есть код #include "stdafx.h" #include <iostream> #include <fstream> using namespace std; slozh(int* pi1, int...

Натуральный логарифм в asm - C++
Доброе время суток! Вижу, натуральный логарифм реализуется на Паскале, вот в этой теме...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nxnx
Формучанин
362 / 293 / 16
Регистрация: 02.11.2010
Сообщений: 1,234
23.02.2012, 20:34     C++ И ASM #2
* Пропатчить gcc, чтобы он поддерживал naked функции, и для функции Func использовать атрибут naked.
только функция как минимум будет содержать инструкцию ret (naked заставляет убирать пролог и эпилог)
и компилятор скорее всего будет сохранять базовые регистры.(гугл в помощь)

* Попробовать использовать оптимизацию -O3 -оно также может убрать пролог\эпилог в некоторых случаях, но это плохой способ.

* Написать функцию полностью на ассемблере. например так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
extern "C" int Func();//возвращает число 13
 
asm("Func: \n"
"movl $13,%eax\n"
"ret\n"
 
);
 
int main()
{
    std::cout<<Func()<<"\n";
    return 0;
}
http://liveworkspace.org/code/9ca1eb...674e0ac359c59f
Yandex
Объявления
23.02.2012, 20:34     C++ И ASM
Ответ Создать тему
Опции темы

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