КОМПЬЮТЕРНАЯ ЛИТЕРАТУРА - Турбо С: руководство пользователя. Часть 2 - Стр. 55

Индекс материала
Турбо С: руководство пользователя. Часть 2
Стр. 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
Все страницы
              Использование микросхемы математического                          
                      сопроцессора 8087/80287                                   
     -----------------------------------------------------------------          
                                                                                
          Если вы абсолютно уверены, что ваша программа будет работать          
     только на машинах,  имеющих микросхему 8087 или 80287,  то можете          
     создать  программу,  которая будет использовать преимущества этой          
     микросхемы. В этом случае результирующие .ЕХЕ файлы будут меньше,          
     так   как  Турбо  Си  не  будет  включать  подпрограммы  эмуляции          
     8087/80287 (EMU.LIB).                                                      
                                                                                
          Если вы используете интегрированную версию Турбо Си, то сле-          
     дует  перейти  в  меню  Options,  выбрать Compiler,  выбрать Code          
     generation и затем выбирать элемент Floating point  до  тех  пор,          
     пока на следующем поле не появится надпись "8087/80287". Когда вы          
     компилируете и компонуете свою программу,  Турбо Си будет автома-          
     тически выбирать для нее нужные опции и библиотеки.                        
                                                                                
          Если вы используете ТСС (автономный компилятор),  то нужно в          
     командной строке использовать опцию - f87, то есть:                        
                                                                                
          tcc -f87 -mX  ratio                                                   
                                                                                
                                                                                
                                                                                
          Это даст указание Турбо Си генерировать встроенные вызовы  к          
     микросхеме  8087/80287.  Когда  TLINK  вызвана,  файлы FP87.LIB и          
     MATHx.LIB будут скомпонованы.                                              
                                                                                
          Если вы выполняете компоновку результирующей программы вруч-          
     ную, то должны определить как соответствующую математическую биб-          
     лиотеку (зависящую от размера модели), так и библиотеку процессо-          
     ра FP87 следующим образом:                                                 
                                                                                
          tlink lib\c0X ratio, ratio, ratio, lib\fp87.lib                       
                lib\mathX.lib lib\cX.lib                                        
                                                                                
     где Х, как всегда, обозначает нужную модель библиотеки.                    
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                

                         - 453,454 -
                                                                                
                 Если вы не используете плавающую точку...                      
     -----------------------------------------------------------------          
                                                                                
          Если ваша  программа  не  использует  никакие подпрограммы с          
     плавающей точкой, то компоновщик не будет задействовать соответс-          
     твующие  библиотеки (EMU.LIB или FP87.LIB совместно с MATHx.LIB),          
     даже если вы запишете их в командной строке.  Не включив эти биб-          
     лиотеки в командную строку компоновщика, вы можете оптимизировать          
     шаг выполнения компоновки (если в программе не используются  опе-          
     рации над числами с плавающей точкой).                                     
                                                                                
         Предположим, вы  хотите компилировать и компоновать следующую          
     программу (записанную в RATIO.C):                                          
                                                                                
          main()                                                                
         {                                                                      
            int a,b,ratio;                                                      
                                                                                
            printf ("Введите два значения:   ");                                
            scanf ("%d %d", %a,%b);                                             
            ratio = a/b;                                                        
            printf ("Результат деления будет %d\n",ratio);                      
                                                                                
          }                                                                     
                                                                                
          Так как эта программа не использует подпрограммы с плавающей          
     точкой,  то  вы  можете выбирать, компилировать ли ее с эмуляцией          
     плавающей точки или без плавающей точки вообще.                            
                                                                                
          Если вы используете интегрированную версию Турбо Си и решили          
     компилировать  с  эмуляцией,  то  выберите Compile to OBJ из меню          
     Compile (Эмуляция включена по умолчанию). Компоновщик будет вклю-          
     чать  библиотеки с плавающей точкой на шаге установки связей,  но          
     ни одна связь не будет реально установлена.                                
                                                                                
          Если вы хотите ускорить процесс компоновки, то можете  уста-          
     новить режим "без плавающей точки". Перейдите в меню Options, вы-          
     берите  Сompiler,  выберите  Code generation, а затем - положение          
     Floating point.                                                            
                                                                                
          Нажимая несколько  раз клавишу "Ввод" в циклах этой команды,          
     вы пройдете 3 опции:  None, Emulation и 8087/80287. Вам нужна оп-          
     ция  None.  Можете  нажать "Esc" 3 раза,  чтобы вернуться в стро-          
     ку-линейку меню (или нажмите F10).                                         
                                                                                

                         - 455,456 -
                                                                                
          Когда вы компилируете и компонуете эту же программу в режиме          
 SET 87=Y                                                           
                                                                                
          Установка переменной среды 87 в N (для No) указывает началь-          
     ной программе, что вы не хотите использовать 8087/80287 (даже ес-          
     ли он присутствует в системе).                                             
                                                                                
          И, наоборот, установка переменной среды 87 в Y (для Yes) оз-          
     начает, что сопроцессор имеется, и вы хотите, чтобы ваша програм-          
     ма использовала его.  Предостережение программисту! Если вы уста-          
     навливаете 87=Y, а на самом деле 8087/80287 отсутствует в машине,          
     то программа потерпит крах и сгорит в логическом аду.                      

                         - 459,460 -
                                                                                
                                                                                
          Переменная среды 87 в состоянии замещать  устанавливаемый по          
     умолчанию алгоритм автообнаружения потому, что когда вы начинаете          
     выполнять свою программу,  начальная программа первым долгом про-          
     веряет, определена ли переменная среды 87.                                 
                                                                                
          - Если переменная среды 87 определена, то начальная програм-          
     ма не смотрит далее, и ваша программа выполняется в описанном ре-