366 Часть ill. Современное программирование на C++

1:

int

Print ( int num)

8:

{

// для простоты используем printf

9:

return printf ( "%d", num);

10

}

11

int

Print ( char ch)

12

{

13

return printf ( "%c", ch) ;

14

)

15

int

Print ( float fl)

16

{

17

return printf ( "%f", fl);

18

}

19

voic

main ()

20

(

21

Print ( 'A'); Print. C\n');

22

Print ( 10); Print C\n');

23

float PI = 3.14519;

24

Print ( PI); Print ('\n');

25

}


Эта демонстрационная программа содержит три функции, все они имеют имя print и отличаются только типом аргументов. Обратим, однако, внимание на другое — на то, что компилятор делает с именами, когда помещает их в таблицу символов. Просмотрим для этого .map-файл.

h03661.jpg

Рис. 15.1

Диалоговое окно Project Options позволяет выводить в .map-файл как уточненные,так и неуточненные имена

Здесь приведены неуточненные имена функций в том виде, в котором они появляются в создаваемом .map-файле:

0001:00000074 Idle Print(int) 0001:00000089 Idle Print(char) 0001:OOOOOOAO Idle Print, (float)