㈠ 如何给VScode安装clang插件
有两种安装方式。一种是访问Visual Studio Code官网,进入插件下载页面
找到我们需要的插件,点击插件图标进入下载页面。
令人遗憾的是,我们看到下载界面只给了我们一个复制的按钮,并不是我们想象的安装包。回到软件,Ctrl+P然后粘贴命令,回车。发现这种方式速度比较慢。笔者在公司比较难下载。
另一种方式就是新建一个文件。输入几行代码并保存。注意后缀。
然后点击左下角的扩展按钮,选择扩展建议。
选择我们需要的插件并安装即可。安装完成后重启即可
㈡ 如何使用clang实现多文件插桩
虽然没用过,但是代码静态分析(Static Analyze)是用 scan-build 命令,生成调试符号是 -g 选项。
㈢ xcode在用clang编译cairo库的时候出现的error和warning
cairo-quartz-font.c:789:26: error: implicit declaration of function
'FMGetATSFontRefFromFont' is invalid in C99
[-Werror,-Wimplicit-function-declaration]
ATSFontRef atsFont = FMGetATSFontRefFromFont (font_id);
^
cairo-quartz-font.c:790:24: warning: 'CGFontCreateWithPlatformFont' is
deprecated: first deprecated in OS X 10.6 [-Wdeprecated-declarations]
CGFontRef cgFont = CGFontCreateWithPlatformFont (&atsFont);
㈣ 如何打开clang生成的AST文件,linux下clang什么命令是生成抽象语法树的文件的
clang -emit-ast test.c
㈤ 怎样让clang默认支持C++11
按照方式
clang++ -std=c++11 -I/usr/include/c++/4.6.1 -I/usr/lib/clang/2.9/include test.cpp -o test 是编译没问题的
如果用命令行编译可也看出
clang编译时是依赖include目录的 所以最好自己配置下include默认 或者设置环境变量
㈥ 如何设置来用clang/clang++替换Linux下的默认编译器Gcc
我晕, 你到底是在什么发行版? 从提示上来看,要用 apt-get install 来装,说明是 ubuntu/debian之类的linux发行版,你怎么又会去用 rpm 来查询和安装软件? 你不说你是什么发行版,楼上回答的人也不管,直接就让你用rpm,误人子弟啊。
正确的方法是,
sudo apt-get install build-essential
这个才是你的系统应该用的,装好后命令行下运行
gcc -v
就会打印出你使用gcc的版本信息了,然后就可以用了,比如
gcc -o test test.c
就会编译test.c,生成可执行文件 test
然后
./test
就会运行test
我再晕,楼主,提示你没有test.c,你的C源文件呢?我这里是用test.c做例子,你的源文件叫什么名字,你就把test.c换成你的文件的名字啊。另外,你要把你的源文件先保存在linux机器上,比方说放到了 /home/yourname/aaa
那你要先
cd /home/yourname/aaa
然后再
gcc -o test test.c
㈦ 我用clang编译一个文件 main.c 当中引用了当前目录下的 set.h 头文件 编译的时候报
能把当时的命令,目录,代码情况提供一下吗?
我在ubuntu虚拟机中可以正常运行,我猜测可能是这个问题:
1.
#include"set.h"
写成了
#include<set.h>
2.main.c和set.h不在同一目录下
3.命令行中由于隔了几级目录,实际编译的不是你所要的main.c文件,而是其他目录下的main.c文件
㈧ mac 系统路径下的clang,clang++,ld,c++ 与xcode下的是不是同一个
其实xcode自带的就有clang,版本也非常非常新。但是缺了一些我需要的组件,于是我得自己重新编译一下。但是我又不想覆盖原来的clang/libc++。因为那很危险,万一我编译的libc++有bug,而我又拿它覆盖了系统本身的libc++,那么我很可能连系统都进不去了。Linux用户不妨对比下自行编译glibc的风险。
我也不知道apple对clang改了什么,我是从llvm官网上下载代码并编译。www.it165.net
官网有文档,但是那文档有些问题。在我机器上行不通。我摸索出另一个办法。
首先编译llvm/clang
目录树如下:
llvm: http://llvm.org/svn/llvm-project/llvm/trunk
llvm/tools/clang: http://llvm.org/svn/llvm-project/cfe/trunk
llvm/tools/clang/tools/extra:
http://llvm.org/svn/llvm-project/clang-tools-extra/trunk
llvm/projects/compiler-rt:
http://llvm.org/svn/llvm-project/compiler-rt/trunk
然后在llvm目录下运行
./configure —enable-libcpp —enable-cxx11 —enable-keep-symbols —disable-docs
—enable-debug-runtime —enable-debug-symbols —enable-optimized
CC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
CXX=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
make
make install
XCode软件包里我故意删掉了command line tools,以免造成冲突。
然后就是libcxxabi和libcxx
libcxxabi: http://llvm.org/svn/llvm-project/libcxxabi/trunk
libcxx:http://llvm.org/svn/llvm-project/libcxx/trunk
先装abi,后装libcxx。
buildit之前先export TRIPLE=-apple-
这还不够,打开lib/buildit文件,把install_name后面的/usr/lib/libc++abi.dylib
改成/usr/local/lib/libc++abi.dylib 才行。
然后
./buildit
手动将编译好的文件到/usr/local/lib目录下。
然后libcxx也是类似,先修改buildit文件。
这些都完成之后,还不够。编译的时候要先用-nostdinc++禁止从/usr/lib目录下寻找头文件和库文件。然后手动把我们的目录包含进去,如下:
clang++ -o t -nostdinc++ -std=c++11 -stdlib=libc++ -I /usr/local/lib/c++/v1
-L/usr/local/lib test.cpp
之后再用otool 看就对了
$ otool -L ./t
./t:
/usr/local/lib/libc++.1.dylib (compatibility version 1.0.0, current
version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
version 169.3
㈨ cygwin 下使用很多命令都没有反应,的确是安装了,比如clang python3 还有pgrep等等 输入命令没反应
直接cd到命令所在目录能执行么?
如果cd到相应目录可以执行,那么设置下path参数即可。
㈩ mac终端中,输入gcc命令,为什么运行的是clang
似乎已经安装命令没输全:
gcc 源文件 -o 输文件
例
gcc helloworld.c -o helloworld
编译helloworld.c (前目录) 名 helloworld程序文件(执行)放前目录
另外MAC自编译程序clang兼容gcc像比GCC牛般用gcc