小编use*_*950的帖子

为什么这个C程序编译没有错误?

我有两个C文件,main.c并且weird.c:

// main.c    
int weird(int *);

int
main(void)
{
    int x, *y;

    y = (int *)7;
    x = weird(y);
    printf("x = %d\n", x);
    return (0);
}

// weird.c

char *weird = "weird";
Run Code Online (Sandbox Code Playgroud)

但是,当我运行以下内容时:

clang -Wall -Wextra -c main.c
clang -Wall -Wextra -c weird.c
clang -o program main.o weird.o
Run Code Online (Sandbox Code Playgroud)

我没有得到任何错误.为什么是这样?不应该至少有链接错误?请注意,我只是在谈论编译文件 - 而不是运行它们.运行会产生分段错误.

c compilation

5
推荐指数
2
解决办法
832
查看次数

标签 统计

c ×1

compilation ×1