Obecnie interesuje mnie ogólnie ARM, a konkretnie cele dla iPhone / Android. Ale chcę tylko dowiedzieć się więcej o clang, ponieważ wydaje mi się, że będzie odgrywał ważną rolę w nadchodzących latach.
próbowałem
clang -cc1 --help|grep -i list
clang -cc1 --help|grep arch|grep -v search
clang -cc1 --help|grep target
-triple <value> Specify target triple (e.g. i686-apple-darwin9)
Wiem, że clang ma parametr -triplet, ale jak mogę wymienić wszystkie możliwe jego wartości? Odkryłem, że clang bardzo różni się od gcc pod względem kompilacji krzyżowej, w świecie GCC powinieneś mieć osobny plik binarny dla wszystkiego, taki jak PLATFORM_make lub PLATFORM_ld (i * 86-pc-cygwin i * 86 - * - linux-gnu itp. Http : //git.savannah.gnu.org/cgit/libtool.git/tree/doc/PLATFORMS )
w świecie clang jest to tylko jeden plik binarny (jak czytałem na niektórych forach). Ale jak uzyskać listę obsługiwanych celów? A jeśli mój cel nie jest obsługiwany w mojej dystrybucji (linux / windows / macos / cokolwiek), jak mogę uzyskać taką, która obsługuje więcej platform?
jeśli ostatnio SVN brzmi tak:
svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
czy dostanę większość platform? Wygląda na to, że Clang nie został od razu zbudowany z myślą o kompilacji krzyżowej, ale skoro jest oparty na llvm, w teorii powinien być bardzo przyjazny dla krzyżowych? Dziękuję Ci!