命令"clang -v"打印:
$ clang -v
clang version 3.4 (tags/RELEASE_34/final)
Target: i386-redhat-linux-gnu
Thread model: posix
Found candidate GCC installation: /usr/bin/../lib/gcc/i686-redhat-linux/4.8.2
Found candidate GCC installation: /usr/lib/gcc/i686-redhat-linux/4.8.2
Selected GCC installation: /usr/bin/../lib/gcc/i686-redhat-linux/4.8.2
Run Code Online (Sandbox Code Playgroud)
"clang选择gcc installatiom"是什么意思?为什么?Clang是否独立于gcc?
谢谢您帮忙.
编辑:
我在页面https://bbs.archlinux.org/viewtopic.php?id=129760找到了一个可能的一般答案(我使用Fedora 20)
我知道标准没有说明uid_t或是的签名gid_t.
页面http://www.gnu.org/software/libc/manual/html_node/Reading-Persona.html说:
在GNU C库中,这是unsigned int的别名.
但是man setreuid说:
为实际或有效用户ID 提供值-1会强制系统保持该ID不变.
那么,uid_t在GNU库中签名还是未签名?
我如何能提供-1,如果uid_t和gid_t是无符号(-1将被转换为0xFFFFFFFF)?
我知道在Linux x64中,“ syscall”和“ int 0x80”汇编程序指令会在软件中生成中断,要求内核执行某些工作。它们具有不同的操作码(0F 05与CD 80),并且前者速度更快。
我不清楚它们之间是否存在任何关系:它们真的独立吗?(即:“ syscall”是否调用“ int 0x80”?)谢谢。
在以下原型中:
int __libc_start_main( int (*main) (int, char * *, char * *),
int argc,
char **ubp_av,
void (*init) (void),
void (*fini) (void),
void (*rtld_fini) (void),
void (* stack_end) );
Run Code Online (Sandbox Code Playgroud)
为什么ubp_av出现而不出现argv?
是什么ubp_av意思?