我想要获取 llvm 的 doxygen 网页的副本,这样我就可以在没有互联网的情况下使用它。我做了如下:
$ cd LLVM_ROOT_DIR
$ mkdir out
$ cd out/
$ ../configure --enable-doxygen
$ make ENABLE_OPTIMIZED=1
Run Code Online (Sandbox Code Playgroud)
但它只构建了llvm,没有文档。我也尝试过
$ make BUILD_FOR_WEBSITE=1 ENABLE_OPTIMIZED=1
Run Code Online (Sandbox Code Playgroud)
和
$ make ENABLE_OPTIMIZED=1 EXTRA_DIST=1
Run Code Online (Sandbox Code Playgroud)
所有这些都不起作用。我如何构建网页?多谢。
我写了一个包裹函数来代替printf的stdio.h.我发现该wrap选项适用于函数stdlib.h,例如malloc或exit.但它没有起作用printf或fprintf.
该选项是否wrap对函数产生影响stdio.h?我怎么能包装一个任意函数?我无法从ld文档中获得有用的指导.
这是代码:
//gcc wrap.c -g -Wl,--wrap,fprintf
int __real_fprintf(FILE *stream, const char *format, ...);
int main(){
fprintf(stderr, "MAIN!\n");
return 0;
}
int __wrap_fprintf(FILE *stream, const char *format, ...){
__real_fprintf(stderr, "WRAP!\n");
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我注册了一个处理程序SIGSEGV,fprintf用来打印一些消息然后退出.该过程打印消息但未退出.之前它被阻止了exit().
我不能exit()用来在处理程序中正常完成这个过程吗?
void sigsegv__handler(){
fprintf(stderr, "SIGSEGV , TID: %d,PID: %d\n", TEST_ID, getpid());
exit(1);
}
Run Code Online (Sandbox Code Playgroud)