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

C++ И ASM - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Непонятка со скобками http://www.cyberforum.ru/cpp-beginners/thread448790.html
У меня такой вопрос: есть два куска кода, по сути одинаковых, в одном есть дополнительные скобки, которые по-моему не влияют ни на что, но результат получается разный. Прикрепил два скрина, может кто...
C++ Можете помочь дописать программу, неправильно работает. Вариант 8 Даны целые массивы А, B и значения R и F. Каждый массив пpеобpазовать по пpавилу: компоненты с четными номеpами, пpедшествующие наибольшему компоненту массива, заменить на значение R... http://www.cyberforum.ru/cpp-beginners/thread448789.html
C++ Программа вычисления значений функции y= sin(x)
Доброго времени суток. У меня есть вот такая задачка: Написать программу вычисления значений функции y = sin(x), с помощью разложения функции в степенной ряд...
Проблема в задаче,подскажите. C++
Всем привет,в общем,задание: В целочисленном массиве из n элементов найти наиболее длинную цепочку одинаковых подряд стоящих элементов.Но обращение к элементам нужно сделать через указатели.Проблема...
C++ В классе создать ссылку на список http://www.cyberforum.ru/cpp-beginners/thread448776.html
У меня есть список: struct queue // описание списка { int pnum; // количество протонов char name; // имя элемента queue *next; ...
C++ использования операторов Всем привет, нужна помощь, буду очень благодарен. 1.(использования оператора switch) По заданному числовому коду учебной группы, введенного с клавиатуры, вывести на экран количество студентов в... подробнее

Показать сообщение отдельно
nxnx
Формучанин
362 / 293 / 16
Регистрация: 02.11.2010
Сообщений: 1,234
23.02.2012, 20:34
* Пропатчить 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
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru