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

Вопросы по теории - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Считывание из файла http://www.cyberforum.ru/cpp-beginners/thread378493.html
как считать из файла число, в котором оно будет задаваться в виде ASCII графики где белый цвет обозначен символом ".", светло-серый - "%", тёмно-серый - "#", чёрный - "@" и сохранить его в файл? примеры исходного файла:
C++ Преобразование char[256] в char* Как преобразовать char в char*? http://www.cyberforum.ru/cpp-beginners/thread378491.html
C++ Подсчитать сумму положительных чисел в массиве
Добрыйд день. Требуется написать программу на языке Си Условие задачи: дан массив вещественных случайных чисел(размер массива определяет пользователь, но в диапазоне ) подсчитать сумму положительных чисел. Заранее спасибо
Преобразовать строку , заменив все сочетания “авс” на ”ghn” C++
Постановка задачи: Задать символьную строку, состоящую из слов. Слова разделены группой пробелов. Выполнить обработку по варианту. Исходную строку и результат вывести на экран. Исходную строку символов ввести с экрана. Преобразовать строку , заменив все сочетания “авс” на ”ghn” #include<iostream.h> #include<conio.h> char fun_str( int i) {
C++ Напечатать те слова строки, в которых нет повторяющихся букв http://www.cyberforum.ru/cpp-beginners/thread378450.html
Вводится строка; между соседними словами - не менее одного пробела, за последним словом - точка. Напечатать те слова строки, где в слове нет повторяющихся букв.(с++) помогите пожалуйста очень срочно надо на понедельник 7.11.11 #include<iostream.h> #include<string.h> #include<conio.h> int main()
C++ Помогите написать проги в BORLAND C31 Очень нужно написать программы до понедельника плиззззззззззз 1=http://s017.***********/i400/1111/fb/426bcef9da41.jpg 2=http://s017.***********/i408/1111/48/e9ed73812b8d.jpg вопрос жизни и смерти ! Добавлено через 34 минуты есть желающие помочь ? подробнее

Показать сообщение отдельно
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
06.11.2011, 18:53     Вопросы по теории
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 1.c
int func_f(void)
{
    return 0;
}
 
int func_g(void)
{
    return 1;
}
 
int main()
{
    return func_f();
}
компилируем
Bash
1
gcc -c 1.c
линкуем
Bash
1
gcc 1.c -o a_1
видим, что в программе сохранились обе функции
Bash
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
alexxx@alexxx-laptop:~/c-test$ objdump -d a_1 | grep -C 5 func
 80483af:   ff d0                   call   *%eax
 80483b1:   c9                      leave  
 80483b2:   c3                      ret    
 80483b3:   90                      nop
 
080483b4 <func_f>:
 80483b4:   55                      push   %ebp
 80483b5:   89 e5                   mov    %esp,%ebp
 80483b7:   b8 00 00 00 00          mov    $0x0,%eax
 80483bc:   5d                      pop    %ebp
 80483bd:   c3                      ret    
 
080483be <func_g>:
 80483be:   55                      push   %ebp
 80483bf:   89 e5                   mov    %esp,%ebp
 80483c1:   b8 01 00 00 00          mov    $0x1,%eax
 80483c6:   5d                      pop    %ebp
 80483c7:   c3                      ret    
 
080483c8 <main>:
 80483c8:   55                      push   %ebp
 80483c9:   89 e5                   mov    %esp,%ebp
 80483cb:   e8 e4 ff ff ff          call   80483b4 <func_f>
 80483d0:   5d                      pop    %ebp
 80483d1:   c3                      ret    
 80483d2:   90                      nop
 80483d3:   90                      nop
другой вариант
компилируем
Bash
1
alexxx@alexxx-laptop:~/c-test$ gcc -c -fdata-sections -ffunction-sections 1.c
линкуем
Bash
1
alexxx@alexxx-laptop:~/c-test$ gcc -Wl,--gc-sections 1.o -o a_2
видим, что func_g была вырезана из бинарника
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
alexxx@alexxx-laptop:~/c-test$ objdump -d a_2 | grep -C 5 func
 8048388:   c7 04 24 1c 9f 04 08    movl   $0x8049f1c,(%esp)
 804838f:   ff d0                   call   *%eax
 8048391:   c9                      leave  
 8048392:   c3                      ret    
 
08048393 <func_f>:
 8048393:   55                      push   %ebp
 8048394:   89 e5                   mov    %esp,%ebp
 8048396:   b8 00 00 00 00          mov    $0x0,%eax
 804839b:   5d                      pop    %ebp
 804839c:   c3                      ret    
 
0804839d <main>:
 804839d:   55                      push   %ebp
 804839e:   89 e5                   mov    %esp,%ebp
 80483a0:   e8 ee ff ff ff          call   8048393 <func_f>
 80483a5:   5d                      pop    %ebp
 80483a6:   c3                      ret    
 80483a7:   90                      nop
 80483a8:   90                      nop
 
Текущее время: 10:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru