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

Надо чтобы, как только встречаются данные о женщине, программа преуменьшала ее возраст - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Dll приложение. Замена Английских слов на многоточие . http://www.cyberforum.ru/cpp-beginners/thread313529.html
Пользовательские функции хранятся в dll файле и вызываются в приложении универсальный подход. Заменить все английские слова на многоточие Не надо писать капсом - уважайте чужие нервы Добавлено...
C++ Рисунок в С++: нарисовать самолетик в облаках Нужно нарисовать самолетик в облаках , всё это сделать в виде функции. Дайте хоть набросок. http://www.cyberforum.ru/cpp-beginners/thread313521.html
Немогу разобраться с условием C++
Немогу разобраться с условием, помогите кто знает...
generate () C++
нужно создать программу используя generate (). Нужно сгенерировать 4 числа от 0 до 3. Нашел template <class ForwardIterator, class Generator> void generate ( ForwardIterator first,...
C++ Движение в текстовом файле http://www.cyberforum.ru/cpp-beginners/thread313496.html
Мне нужно двигаться и считывать в строку символы до определенного символа, означающего конец строки(той в которую я записываю символы). Потом точно также, но с другими символами и строками.
C++ Преобразовать программу с массивом в двусвязный список Собственно необходимо решить данную задачу с помощью двусвязаного списка( полностью ну или просто дописать) Описать структуру NOTE, содержащую следующие поля: NAME - фамилия, имя; PHONE -... подробнее

Показать сообщение отдельно
pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
14.06.2011, 12:57
нет, strlen это обычная сишная функция, вызывается как и все остальные. Размер s1 известен на этапе компиляции, размер s2 нет

Assembler
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
char s1[]="qwerty",s3[strlen(s1)],s2[]="abcdef";
0x004013f5  <+69>:              lea    -0x47(%ebp),%ebx
0x004013f8  <+72>:              mov    $0xd974ac,%edx
0x004013fd  <+77>:              mov    $0x7,%eax
0x00401402  <+82>:              mov    %ebx,%edi
0x00401404  <+84>:              mov    %edx,%esi
0x00401406  <+86>:              mov    %eax,%ecx
0x00401408  <+88>:              rep movsb %ds:(%esi),%es:(%edi)
0x0040140a  <+90>:              lea    -0x47(%ebp),%eax
0x0040140d  <+93>:              mov    %eax,(%esp)
0x00401410  <+96>:              [B]call   0xb80bb0 <strlen>[/B]
0x00401415  <+101>:             lea    -0x1(%eax),%ecx
0x00401418  <+104>:             mov    %ecx,-0x20(%ebp)
0x0040141b  <+107>:             mov    %ecx,%eax
0x0040141d  <+109>:             mov    $0x0,%edx
0x00401422  <+114>:             mov    %eax,%ebx
0x00401424  <+116>:             and    $0xff,%bh
0x00401427  <+119>:             mov    %ebx,-0x68(%ebp)
0x0040142a  <+122>:             mov    %edx,%esi
0x0040142c  <+124>:             and    $0xf,%esi
0x0040142f  <+127>:             mov    %esi,-0x64(%ebp)
0x00401432  <+130>:             mov    -0x68(%ebp),%eax
0x00401435  <+133>:             mov    -0x64(%ebp),%edx
0x00401438  <+136>:             add    $0x1,%eax
0x0040143b  <+139>:             adc    $0x0,%edx
0x0040143e  <+142>:             mov    %eax,%edi
0x00401440  <+144>:             and    $0xffffffff,%edi
0x00401443  <+147>:             mov    %edi,-0x70(%ebp)
0x00401446  <+150>:             mov    %edx,%ebx
0x00401448  <+152>:             and    $0xf,%ebx
0x0040144b  <+155>:             mov    %ebx,-0x6c(%ebp)
0x0040144e  <+158>:             mov    -0x70(%ebp),%eax
0x00401451  <+161>:             mov    -0x6c(%ebp),%edx
0x00401454  <+164>:             shld   $0x3,%eax,%edx
0x00401458  <+168>:             shl    $0x3,%eax
0x0040145b  <+171>:             mov    %eax,%esi
0x0040145d  <+173>:             and    $0xffffffff,%esi
0x00401460  <+176>:             mov    %esi,-0x78(%ebp)
0x00401463  <+179>:             mov    %edx,%edi
0x00401465  <+181>:             and    $0xf,%edi
0x00401468  <+184>:             mov    %edi,-0x74(%ebp)
0x0040146b  <+187>:             mov    -0x78(%ebp),%eax
0x0040146e  <+190>:             mov    -0x74(%ebp),%edx
0x00401471  <+193>:             mov    %ecx,%eax
0x00401473  <+195>:             mov    $0x0,%edx
0x00401478  <+200>:             mov    %eax,%ebx
0x0040147a  <+202>:             and    $0xff,%bh
0x0040147d  <+205>:             mov    %ebx,-0x80(%ebp)
0x00401480  <+208>:             mov    %edx,%esi
0x00401482  <+210>:             and    $0xf,%esi
0x00401485  <+213>:             mov    %esi,-0x7c(%ebp)
0x00401488  <+216>:             mov    -0x80(%ebp),%eax
0x0040148b  <+219>:             mov    -0x7c(%ebp),%edx
0x0040148e  <+222>:             add    $0x1,%eax
0x00401491  <+225>:             adc    $0x0,%edx
0x00401494  <+228>:             mov    %eax,%edi
0x00401496  <+230>:             and    $0xffffffff,%edi
0x00401499  <+233>:             mov    %edi,-0x88(%ebp)
0x0040149f  <+239>:             mov    %edx,%ebx
0x004014a1  <+241>:             and    $0xf,%ebx
0x004014a4  <+244>:             mov    %ebx,-0x84(%ebp)
0x004014aa  <+250>:             mov    -0x88(%ebp),%eax
0x004014b0  <+256>:             mov    -0x84(%ebp),%edx
0x004014b6  <+262>:             shld   $0x3,%eax,%edx
0x004014ba  <+266>:             shl    $0x3,%eax
0x004014bd  <+269>:             mov    %eax,%esi
0x004014bf  <+271>:             and    $0xffffffff,%esi
0x004014c2  <+274>:             mov    %esi,-0x90(%ebp)
0x004014c8  <+280>:             mov    %edx,%edi
0x004014ca  <+282>:             and    $0xf,%edi
0x004014cd  <+285>:             mov    %edi,-0x8c(%ebp)
0x004014d3  <+291>:             mov    -0x90(%ebp),%eax
0x004014d9  <+297>:             mov    -0x8c(%ebp),%edx
0x004014df  <+303>:             mov    %ecx,%eax
0x004014e1  <+305>:             inc    %eax
0x004014e2  <+306>:             add    $0xf,%eax
0x004014e5  <+309>:             add    $0xf,%eax
0x004014e8  <+312>:             shr    $0x4,%eax
0x004014eb  <+315>:             shl    $0x4,%eax
0x004014ee  <+318>:             call   0xb78864 <_alloca>
0x004014f3  <+323>:             lea    0x10(%esp),%eax
0x004014f7  <+327>:             add    $0xf,%eax
0x004014fa  <+330>:             shr    $0x4,%eax
0x004014fd  <+333>:             shl    $0x4,%eax
0x00401500  <+336>:             mov    %eax,-0x1c(%ebp)
0x00401503  <+339>:             lea    -0x4e(%ebp),%edx
0x00401506  <+342>:             mov    $0xd974b3,%ebx
0x0040150b  <+347>:             mov    $0x7,%eax
0x00401510  <+352>:             mov    %edx,%edi
0x00401512  <+354>:             mov    %ebx,%esi
0x00401514  <+356>:             mov    %eax,%ecx
0x00401516  <+358>:             rep movsb %ds:(%esi),%es:(%edi)
g++ каким то своим хитрожопым способом выделяет память для s2, я к at&t синтаксису не привык поэтому не могу понять чё он тут делает. Правда я тут вижу вызов _alloca, который выделяет память на стеке.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru