Как скомпилировать программу на C без использования limits.файл заголовка h в GCC?

#c #gcc #compilation

#c #gcc #Сборник

Вопрос:

Я создал калькулятор на C, и теперь я хочу скомпилировать свою программу без использования limits.файл заголовка h в GCC. Но я не знаю как.

Вот исходный код моей программы:

 int printf(const char *format, ...);
int scanf(const char *format, ...);

int main()
{
    double num1, num2, r;
    char ch;
    do
    {
        scanf("%lf", amp;num1);
        scanf("%lf", amp;num2);
        printf("ta - Addntb - Substractntc - Multiplyntd - Dividen");
        scanf(" %c", amp;ch);
        switch (ch)
        {
            case 'a':
                r = num1   num2;
                printf("%lf   %lf = %fn", num1, num2, r);
                break;
            case 'b':
                r = num1 - num2;
                printf("%lf - %lf = %fn", num1, num2, r);
                break;
            case 'c':
                r = num1 * num2;
                printf("%lf * %lf = %fn", num1, num2, r);
                break;
            case 'd':
                r = num1 / num2;
                if (num1 > 0 amp; num2 == 0 | num1 == 0 amp; num2 == 0)
                {
                    printf("Undefinedn");
                }
                else
                {
                    printf("%lf / %lf = %fn", num1, num2, r);
                }
                break;
            default:
                printf("Invalidn");
        }
    }
    while (1);
}
 

Я скомпилировал свою программу с gcc Program.c -o ConsoleCalculator1 помощью .

Комментарии:

1. Я полагаю, что для вас недостаточно не включать файл заголовка. Чего вы хотите достичь?

2. Вы можете исключить его, если не используете ни одно из значений в файле.

Ответ №1:

 #ifndef TEST
#include<limits.h>
#endif
 

Затем во время компиляции используйте -D тег как :

 gcc -DTEST -Wall file-name.c -o file-exec
 

Использование -D определяет макрос-ТЕСТ, следовательно, он не будет включать limits.h

Если вы хотите включить limits.h , то не определяйте макрос-ТЕСТ (не используйте -D опцию компилятора)