小编arp*_*gal的帖子

程序在在线IDE上表现得很奇怪

我遇到了下面的C++程序(源代码):

#include <iostream>
int main()
{
    for (int i = 0; i < 300; i++)
        std::cout << i << " " << i * 12345678 << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

它看起来像一个简单的程序,并在我的本地机器上提供正确的输出,例如:

0 0
1 12345678
2 24691356
...
297 -628300930
298 -615955252
299 -603609574
Run Code Online (Sandbox Code Playgroud)

但是,在像codechef这样的在线IDE上,它提供了以下输出:

0 0
1 12345678
2 24691356
...
4167 -95167326
4168 -82821648
4169 -7047597
Run Code Online (Sandbox Code Playgroud)

为什么for循环不在300处终止?此程序也始终终止4169.为什么4169而不是其他一些价值?

c++ integer-overflow undefined-behavior

78
推荐指数
4
解决办法
5349
查看次数

带Flask的pyCUDA给出了pycuda._driver.LogicError:cuModuleLoadDataEx

我想在flask服务器上运行pyCUDA代码.文件直接正确运行python3但在使用时调用相应的函数失败flask.

这是相关代码:

cudaFlask.py:

import pycuda.autoinit
import pycuda.driver as drv
import numpy

from pycuda.compiler import SourceModule

def cudaTest():
    mod = SourceModule("""
        int x = 4;
    """)

    print ("done")
    return

if __name__ == "__main__":
    cudaTest()
Run Code Online (Sandbox Code Playgroud)

server.py(只调用该函数的部分):

@app.route('/bundle', methods=['POST'])
def bundle_edges():
    cudaTest()
    return "success"
Run Code Online (Sandbox Code Playgroud)

在运行时,python cudaFlask.py我得到了done预期的输出,但在启动服务器并执行POST请求时,website/bundle我在烧瓶控制台上收到以下错误:

pycuda._driver.LogicError: cuModuleLoadDataEx failed: invalid device context - 
Run Code Online (Sandbox Code Playgroud)

在线上 mod = SourceModule...

我哪里错了?有一个类似的问题,但尚未得到回答.

python flask pycuda

11
推荐指数
1
解决办法
965
查看次数

有效地将路段可视化为Leaflet中的热图

我的数据由城市路段的组成部分组成,访问次数不同。我想在Map上绘制数据并以的形式可视化heatmap

我有两个相关的问题:

  1. 我有一Open Street Maps (OSM)对成对的形式的数据node ID,其中节点ID对应于由分配给一个点的唯一ID OSM。我每个node Id人都有对应的坐标的映射。是否有任何LeafletMapbox实用程序或插件,它可以绘制一个行程/高亮使用2个路段node ID的。我总是可以手动进行操作(通过使用坐标映射并将其转换为GeoJSON),但是线宽会出现问题-我必须使其与道路的宽度完全重叠,这样看来我在强调路段。
  2. 是否有任何插件/效用Leaflet或者Mapbox,它可用于绘制polylinesgeojsonheatmap有效?我当前的方法是为每种颜色计算颜色polyline并将其编码为geojson属性。但是问题在于,随着行数的增加(> 1K),渲染变得很麻烦,并且该方法不可行。有一些插件Leaflet那里的绘图heatmap,但所有的人都对分而已,而不是线。使用的任何方法WebGL都将非常棒。

我想到的一种方法可能是将我的数据转换为shape文件,然后上传Mapbox Studio并直接用作图层。但是我不知道该怎么做,即创建一个形状文件,以一种使整个路段以正确的颜色突出显示的方式对信息进行编码。

heatmap openstreetmap webgl leaflet mapbox-gl-js

6
推荐指数
0
解决办法
238
查看次数

在 react-admin 中添加无需身份验证的自定义页面

我想向我的react-admin门户网站添加一个注册页面。由于react-admin不提供注册页面,我创建了一个自定义页面并将其添加到自定义路由中:

自定义路由.js

import React from 'react';
import { Route } from 'react-router-dom';
import SignupForm from './signupForm';

export default [
    <Route path="/signup" component={SignupForm} noLayout/>,
];
Run Code Online (Sandbox Code Playgroud)

问题是我只能在/signup用户已经登录时打开页面。否则我会自动重定向到/login路由。

如何禁用自定义路由的身份验证?是否有一些属性<Route>接受或与dataProvider.js?

编辑

为 my 添加代表代码signupForm.js

import React from 'react';
import TextField from '@material-ui/core/TextField';
import Button from '@material-ui/core/Button';
import Dialog from '@material-ui/core/Dialog';
import { fetchUtils } from 'react-admin';
import { ApiUrl } from './config';

class SignupForm extends React.Component {
    constructor() { …
Run Code Online (Sandbox Code Playgroud)

react-router-dom react-admin

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

Doxygen:找不到共享库“libclang.so.6”

运行时doxygen我收到以下错误:

doxygen: error while loading shared libraries: libclang.so.6: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我已经在 Ubuntu 17 上安装doxygen使用。在我有但没有。sudo apt install doxygen/usr/lib/x86_64-linux-gnulibclang-4.0.so.1libclang-5.0.so.1libclang.so.6

我尝试过重新安装 doxygen,但没有帮助。

我还尝试创建一个调用libclang.so.6现有文件的符号链接,libclang-5.0.so.1如下所示但它会导致此错误:

doxygen: /usr/lib/x86_64-linux-gnu/libclang.so.6: version `LLVM_6.0' not found (required by doxygen)
Run Code Online (Sandbox Code Playgroud)

如何解决此错误并使 doxygen 正常工作?

ubuntu doxygen clang libclang

5
推荐指数
1
解决办法
9063
查看次数

for循环中条件表达式的评估

我有一个问题:

假设我有以下代码:

代码A:

for (int i = 0; i < n + 1; i++)
{
  // something here
}
Run Code Online (Sandbox Code Playgroud)

代码B:

int lim = n + 1;
for (int i = 0; i < lim; i++)
{
   // something here
}
Run Code Online (Sandbox Code Playgroud)

哪个代码更有效?代码A中的条件表达式是在for循环的每次迭代中计算的,还是现代编译器会处理它并自己为它分配一个常量值?

c++

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