我在Win10上安装了LLVM和Clang-3.9.0.我也安装了MinGW.
我把我的C代码放在'D:'驱动器中.
我可以使用gcc和g ++来编译我的代码.但是当我使用clang时,我得到:
clang -cc1 version 3.9.0 based upon LLVM 3.9.0 default target x86_64-pc-windows-msvc
ignoring duplicate directory "C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A"
ignoring duplicate directory "C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A"
#include "..." search starts here:
#include <...> search starts here:
C:\Program Files\LLVM\bin\..\lib\clang\3.9.0\include
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A
End of search list.
hello.c:1:10: fatal error: 'stdio.h' file not found
#include "stdio.h"
^
1 error generated.
Run Code Online (Sandbox Code Playgroud)
因为我可以使用gcc和g ++,我的环境变量设置是正确的.但后来我无法强迫clang调查C:\ MinGW.
我尝试手动C:\Program Files\LLVM\bin\和\lib\clang\3.9.0\include单独粘贴整个MinGW文件夹,但它不起作用.我想试试这个,但在3.9.0我找不到,clang/lib/Frontend/InitHeaderSearch.cpp …
我在 VS2015、Eclipse 和 Spyder 中尝试了以下代码:
import urllib.request
with urllib.request.urlopen('https://www.python.org/') as response:
html = response.read()
Run Code Online (Sandbox Code Playgroud)
在调用情况下,它不会在浏览器中打开网页。我不确定是什么问题。调试没有帮助。在 VS2015 中,程序存在代码为 0,我认为这意味着成功。
我有列表格式列表中的数据。
看起来像这样:
[(x_1, y_1, Z_1),...(x_i, y_j, z_k),...(x_p, y_q, z_r)]
Run Code Online (Sandbox Code Playgroud)
对于每个x和y,都有一个z。X,Y和Z的长度分别为p,q和r(= p * q)。
我打算绘制一个轮廓图,其中X和Y为网格,Z为要绘制的值。
我有以下代码(仅代表):
import csv
import sys
import statistics
import numpy as np
from scipy.interpolate import UnivariateSpline
from matplotlib import pyplot as plt
...........
#format of data = [(x, y, z)......]
#x, y, z are lists
X = [X1,..........,Xp] #length, p
Y = [Y1,..........,Yq] #length, q
Z = [Z1,..........,Zpq] #length, pq
#np.mesh
X1, Y1 = np.meshgrid(X, Y)
plt.figure()
CS = plt.contour(X1, Y1, Z)
plt.clabel(CS, inline=1, fontsize=10)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Traceback …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用以下内联程序集编译 CUDA 代码:
static __device__ uint get_smid(void) {
uint ret;
asm("mov.u32 %0, %smid;" : "=r"(ret) );
return ret;
}
Run Code Online (Sandbox Code Playgroud)
nvcc带有标志的代码编译得很好-Xptxas -v。
当我尝试使用clang++(版本 4.0)和相应的标志-Xcuda-ptxas -v(我认为这是正确的,但我可能错了)编译它时,出现以下错误:
../../include/cutil_subset.h:23:25: error: invalid % escape in inline assembly string asm("mov.u32 %0, %smid;" : "=r"(ret) );
它指向%smid.
我想我应该链接正确的库,但我也有这个:L/cuda/install/lib.
另一种可能是 NVPTX asm 不兼容。在这个页面上,解释了 LLVM 对所有 PTX 变量都有不同的定义(smid 和 warpid 也有一些)。现在,如果提到的代码必须单独(不是内联)编写和编译,我会迷失方向。
有没有人以前处理过类似的问题?欢迎提出建议。
我有以下指示:
\n\n%ptrA = getelementptr float, float addrspace(1)* %A, i32 %id\nRun Code Online (Sandbox Code Playgroud)\n\n我可以获取操作数%A并%id使用getOperand(0)and getOperand(1)。我想知道是否getOperand会继续工作%ptrA?如果是的话,会是吗getOperand(3)?
- - - - - - - - - - - - - - - - - - 编辑 - - - - - - - ----------------
\n\n所以我改变了我的代码如下:
\n\nfor (Instruction &I : instructions(F)){\n if (cast<Operator>(I).getOpcode() == Instruction::GetElementPtr){\n Value* AddrPointer = cast<Value>(I);\nRun Code Online (Sandbox Code Playgroud)\n\n我不断收到错误:
\n\n%ptrA = getelementptr float, float addrspace(1)* …Run Code Online (Sandbox Code Playgroud)