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

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

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

[Linker error] undefined reference to 'r' - C++

08.11.2013, 08:54. Просмотров 551. Ответов 1
Метки нет (Все метки)

Помогите решить вышеописанную проблему, на переменную s так же ругаеться!
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 main ()
{
    int r=0;
    char s[100]; 
    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  '0', %eax");
    asm ("       cmpl  '9', %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;
}
Писал на bloodsheild Dev-cpp синтаксис AT&T
Программа сама по себе должна переводить из char В int: Есть рабочий аналог под Intel
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.11.2013, 08:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос [Linker error] undefined reference to 'r' (C++):

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

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

[Linker error] undefined reference to - C++
#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; #include&lt;fstream&gt; ...

[Linker Error] undefined reference to `__dyn_tls_init_callback' - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; int SumDigits (int N) { int d, sum = 0; while ( N != 0 ) ...

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

[Linker error] undefined reference to __cpu_features_init - C++
Вот наглядное пособие: ... А что он говорит и что делать, чтобы прога заработала?

1
Max Dark
шКодер самоучка
1852 / 1652 / 603
Регистрация: 09.10.2013
Сообщений: 3,678
Записей в блоге: 6
Завершенные тесты: 2
08.11.2013, 15:02 #2
Видимо это происходит из за того что локальные переменные функции 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;
}
однако результат выводит неверный
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.11.2013, 15:02
Привет! Вот еще темы с ответами:

Ошибка [Linker error] undefined reference to `__dyn_tls_init_callback' - C++
Вот такие ошибки появляются : Ошибка undefined reference to `__dyn_tls_init_callback' undefined reference to...

[linker error] undefined reference to 'vtable for Car' - C++
доброго времени вам. помогите, пожалуйста, с задачей разобраться. хочу сделать пример на паттерн &quot;абстрактная фабрика&quot;. фабрика собирает...

Выдает ошибку [Linker error] undefined reference to `WinMain@16' - C++
Собственно проблема в сабже - выдает gcc.exe &quot;J:\Курсовая БД\Курсовая .c&quot; -o &quot;J:\Курсовая БД\Курсовая .exe&quot; ...

Ошибка [Linker error] undefined reference to `Vector::Vector(int)' - C++
Добрый день. Делал по методички, и почему-то валятся ошибки... файл lab9_main.cpp #include &lt;iostream&gt; #include &quot;Vector.h&quot; int...


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

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

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