2011-04-07 19 views

回答

19

這是完全一樣的:

clang -MD -MF foo.d -c foo.o foo.cc 

一個例子:

$ cat example.c 
#include <stdio.h> 

int main(int argc, char **argv) 
{ 
    printf("Hello, world!\n"); 
    return 0; 
} 

$ clang -MD -MF example-clang.d -c -o example-clang.o example.c 

$ gcc -MD -MF example-gcc.d -c -o example-gcc.o example.c 

$ cat example-clang.d 
example-clang.o: example.c /usr/include/stdio.h /usr/include/_types.h \ 
    /usr/include/sys/_types.h /usr/include/sys/cdefs.h \ 
    /usr/include/machine/_types.h /usr/include/i386/_types.h \ 
    /usr/include/secure/_stdio.h /usr/include/secure/_common.h 

$ cat example-gcc.d 
example-gcc.o: example.c /usr/include/stdio.h /usr/include/_types.h \ 
    /usr/include/sys/_types.h /usr/include/sys/cdefs.h \ 
    /usr/include/machine/_types.h /usr/include/i386/_types.h \ 
    /usr/include/secure/_stdio.h /usr/include/secure/_common.h 

$ diff example-clang.d example-gcc.d 
1c1 
< example-clang.o: example.c /usr/include/stdio.h /usr/include/_types.h \ 
--- 
> example-gcc.o: example.c /usr/include/stdio.h /usr/include/_types.h \ 
+0

衛生署。我通過「llvmc -clang」嘗試過,並且無法使其工作。似乎直接使用clang會更好。謝謝! – 2011-04-07 19:56:03

+0

這個記錄在哪裏?我一直無法找到關於-MD,-MF和-MM選項的單詞。 – CXJ 2014-09-05 04:24:34

+1

Clang大多與gcc有相同的選項。大多。 – 2014-09-05 05:11:27

相關問題