Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ лабка по С++ на казахском! https://www.cyberforum.ru/ cpp-beginners/ thread1001443.html
надо составить прогу с помощию строки! только задание на каз языке! кто знает?? (((((Берілген сөздегі әріптердің санына байланысты '!' литерін тіркеу. (Мысалы, «УРА» жолынан «УРА!!!» жолын...
Ошибка считывания из файла динамического массива структур C++
Строка таблицы содержит следующую информацию о первокурсниках: фамилия, имя, отчество, группа, количество баллов, набранных на вступительных экзаменах. Требуется создать перечень фамилий с указанием...
Необходимо найти минимум функции C++
Необходимо а интервале с точностью Eps > 0 определить значение одного корня уравнения cos((x)/2) * sin(x) + 1 = 0 Определить минимальное значение функции на интервале . Реализовать диалог. Поиск...
C++ Абстрактный тип данных Доброго времени суток! Помогите, пожалуйста, с заданием: Создать список произвольной организации. Областью данных каждого элемента является строка, содержащая название геометрической фигуры, и... https://www.cyberforum.ru/ cpp-beginners/ thread1001414.html
C++ Найти все повторяющиеся элементы вектора https://www.cyberforum.ru/ cpp-beginners/ thread1001412.html
Создать программу, которая вводит c клавиатуры (с обработкой ошибок) массив целых чисел, находит в нем все повторяющиеся последовательности (1 1, 2 2 и т.д.) и заменяет каждую из них на два...
C++ написать класс на С++ восьмиугольник в круге
Всем привет. Нужна ваша помощь. Нужно создать класс на С++ восьмиугольник в круге в режиме form. Кто знает, подскажите или может у когото есть уже код. Очень нужно. Буду очень благодарен.
C++ как работают эти 4 функции
Подскажите как работают эти 4 функции CTime CTime::operator ++() CTime CTime::operator --() CTime CTime::operator ++(int) CTime CTime::operator --
C++ Необъявленный идентификатор, преобразование "int" в "float" #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <conio.h> #define N 50 #define M 50 int n,m,i,j,k,r; void massiv(int e); void massiv(int d); float a; float b; https://www.cyberforum.ru/ cpp-beginners/ thread1001378.html
C++ Преобразование матрицы https://www.cyberforum.ru/ cpp-beginners/ thread1001375.html
Дана матрица размера M × N. Преобразовать матрицу, поменяв местами минимальный и максимальный элемент в каждой строке. Не могу поменять местами max и min элементы с строке матрицы #include...
C++ Как сделать, чтобы при перезагрузке данные занесённые программой в реестр не удалялись? При перезагрузке данные занесённые программой в реестр удаляются. Как это изменить подскажи плис? https://www.cyberforum.ru/ cpp-beginners/ thread1001370.html
шКодер самоучка
2117 / 1839 / 895
Регистрация: 09.10.2013
Сообщений: 4,014
Записей в блоге: 7
08.11.2013, 15:02 0

[Linker error] undefined reference to 'r'

08.11.2013, 15:02. Просмотров 868. Ответов 1
Метки (Все метки)

Ответ

Видимо это происходит из за того что локальные переменные функции main распологаются в стеке и обращаться к ним надо через смещение от начала стека

Если вынести переменные в глобальную область видимости, то следующий код собирается
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <stdio.h>
#include <stdlib.h>
//#include <conio.h>
#include <string.h>
#include <iostream>
 
using namespace std;
 
    int r=0;
    char s[100];
int main ()
{
    printf ("Write the numbers: \n");
    cin>>s;
//    _getch();
    asm ("Cld              ");
    asm ("       movl  r,%ebx");
    asm ("       leal  s, %edx");
    asm ("l:                   ");
    asm ("       movb  (%edx), %ah");
    asm ("       movb  %ah, r");
    asm ("       movl  r, %eax");
    asm ("       subl  $48, %eax");
    asm ("       cmpl  $57, %eax");
    asm ("       ja   m        ");
    asm ("       addl  %eax, %ebx");
    asm ("       imull $0x10, %ebx");
    asm ("       movl  $0, r");
    asm ("       addl  $0x1, %edx");
    asm ("       movl  $0, %eax");
    asm ("       loop l");
    asm ("m:                   ");
    asm ("       movl %ebx,r");
    // */
    r=r/10;
    printf("\n\nResult: %d",r);
    //_getch();
    return 0;
}
однако результат выводит неверный

Вернуться к обсуждению:
[Linker error] undefined reference to 'r'
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.11.2013, 15:02
Готовые ответы и решения:

Странная ошибка: [Linker error] undefined reference to `__dyn_tls_init_callback' [Linker error] undefined reference to ld returned 1 exit status
Здравствуйте. Вот недавно начал изучать книгу &quot;С++ для чайников&quot; Стефан Р. Девис 4-е издание. И...

[Linker error] undefined reference to
#include&lt;string.h&gt; #include&lt;stdlib.h&gt; #include&lt;conio.h&gt; #include&lt;stdio.h&gt; #include &lt;math.h&gt;...

[Linker Error] undefined reference to
Вызываю так функцию в main'e: #include &lt;cstdlib&gt; #include &lt;iostream&gt; #include &lt;iomanip&gt;...

[Linker Error] undefined reference to `instructions()'
Dev c++ #include &lt;iostream&gt; using namespace std; void instructions(); int main() { ...

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