Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在GCC中不使用limits.h头文件编译C程序?_C_Gcc_Compilation - Fatal编程技术网

如何在GCC中不使用limits.h头文件编译C程序?

如何在GCC中不使用limits.h头文件编译C程序?,c,gcc,compilation,C,Gcc,Compilation,我用C做了一个计算器,现在,我想编译我的程序,而不使用GCC中的limits.h头文件。但我不知道怎么做 以下是我的程序源代码: int printf(const char *format, ...); int scanf(const char *format, ...); int main() { double num1, num2, r; char ch; do { scanf("%lf", &num1);

我用C做了一个计算器,现在,我想编译我的程序,而不使用GCC中的limits.h头文件。但我不知道怎么做

以下是我的程序源代码:

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控制台计算器1编译了我的程序

#ifndef TEST
#include<limits.h>
#endif
使用
-D
,定义宏测试,因此它将不包括
限制。h


如果要包含
limits.h
,则不要定义宏测试(不要使用
-D
编译器选项)

我认为不包含头文件对您来说不够好。您希望实现什么?只要不使用文件中的任何值,就可以排除它。
gcc -DTEST -Wall file-name.c -o file-exec