2011-04-07 15 views

Respuesta

19

Es exactamente lo mismo:

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

Un ejemplo:

$ 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

Doh. Lo intenté a través de "llvmc -clang", y simplemente no pude hacerlo funcionar. Parece que es mejor usar clang directamente. ¡Gracias! –

+0

¿Y dónde está documentado esto para clang? No he podido encontrar la palabra uno sobre las opciones -MD, -MF y -MM. – CXJ

+1

Clang en su mayoría tiene las mismas opciones que gcc. Principalmente. –

Cuestiones relacionadas