小编alg*_*rog的帖子

Windows 10:Clang,"stdio.h"未找到

我在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 …

c mingw llvm clang

6
推荐指数
1
解决办法
7740
查看次数

Python 3.5 urllib 无法在浏览器中打开网页

我在 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,我认为这意味着成功。

python browser urllib python-3.x

3
推荐指数
1
解决办法
4167
查看次数

numpy轮廓:TypeError:输入z必须是2D数组

我有列表格式列表中的数据。

看起来像这样:

[(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)

numpy contour scipy python-3.x

2
推荐指数
1
解决办法
1万
查看次数

带有 CUDA 内联汇编的 LLVM

我正在尝试使用以下内联程序集编译 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 也有一些)。现在,如果提到的代码必须单独(不是内联)编写和编译,我会迷失方向。

有没有人以前处理过类似的问题?欢迎提出建议。

c++ cuda llvm-clang

2
推荐指数
1
解决办法
523
查看次数

LLVM IR:获取 LVALUE 操作数

我有以下指示:

\n\n
%ptrA = getelementptr float, float addrspace(1)* %A, i32 %id\n
Run Code Online (Sandbox Code Playgroud)\n\n

我可以获取操作数%A%id使用getOperand(0)and getOperand(1)。我想知道是否getOperand会继续工作%ptrA?如果是的话,会是吗getOperand(3)

\n\n

- - - - - - - - - - - - - - - - - - 编辑 - - - - - - - ----------------

\n\n

所以我改变了我的代码如下:

\n\n
for (Instruction &I : instructions(F)){\n    if (cast<Operator>(I).getOpcode() == Instruction::GetElementPtr){\n        Value* AddrPointer = cast<Value>(I);\n
Run Code Online (Sandbox Code Playgroud)\n\n

我不断收到错误:

\n\n
%ptrA = getelementptr float, float addrspace(1)* …
Run Code Online (Sandbox Code Playgroud)

c++ llvm-ir

2
推荐指数
1
解决办法
3176
查看次数

标签 统计

c++ ×2

python-3.x ×2

browser ×1

c ×1

clang ×1

contour ×1

cuda ×1

llvm ×1

llvm-clang ×1

llvm-ir ×1

mingw ×1

numpy ×1

python ×1

scipy ×1

urllib ×1