簡體   English   中英

如何在 GCC 中不使用limits.h header 文件的情況下編譯C 程序?

[英]How to compile C program without using limits.h header file in GCC?

我在 C 中做了一個計算器,現在,我想編譯我的程序而不使用限制 header 文件在 GCC 中。 但我不知道怎么做。

這是我的程序源代碼:

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

int main()
{
    double num1, num2, r;
    char ch;
    do
    {
        scanf("%lf", &num1);
        scanf("%lf", &num2);
        printf("\ta - Add\n\tb - Substract\n\tc - Multiply\n\td - Divide\n");
        scanf(" %c", &ch);
        switch (ch)
        {
            case 'a':
                r = num1 + num2;
                printf("%lf + %lf = %f\n", num1, num2, r);
                break;
            case 'b':
                r = num1 - num2;
                printf("%lf - %lf = %f\n", num1, num2, r);
                break;
            case 'c':
                r = num1 * num2;
                printf("%lf * %lf = %f\n", num1, num2, r);
                break;
            case 'd':
                r = num1 / num2;
                if (num1 > 0 & num2 == 0 | num1 == 0 & num2 == 0)
                {
                    printf("Undefined\n");
                }
                else
                {
                    printf("%lf / %lf = %f\n", num1, num2, r);
                }
                break;
            default:
                printf("Invalid\n");
        }
    }
    while (1);
}

我用gcc Program.c -o ConsoleCalculator1編譯了我的程序。

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

然后,在編譯期間使用-D標記作為:

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

使用-D定義宏 TEST,因此它不會包含limits.h

如果要包含limits.h ,則不要定義宏 TEST (不要使用-D編譯器選項)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM