小编Thi*_*ser的帖子

错误/usr/include/string.h:652:42:错误:构建caffe时未在此范围内声明'memcpy'

我正在尝试按照本指南编译caffe:https://gist.github.com/wangruohui/679b05fcd1466bb0937f

但是,当我得到make all我也得到错误

NVCC src/caffe/layers/hdf5_data_layer.cu
/usr/include/string.h: In function ‘void* __mempcpy_inline(void*, const void*, size_t)’:
/usr/include/string.h:652:42: error: ‘memcpy’ was not declared in this scope
   return (char *) memcpy (__dest, __src, __n) + __n;
                                          ^
Makefile:585: recipe for target '.build_release/cuda/src/caffe/layers/hdf5_data_layer.o' failed
Run Code Online (Sandbox Code Playgroud)

但是/usr/include/string.h甚至不在caffe代码中,那么是什么给出了?这是一个密切关注16.04的ubuntu变体

看作代码的来源是众所周知的回购,我认为问题可能在Makefile或Makefile.config中

c++ cuda compiler-errors makefile compilation

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

线程没有同时运行

我已经为基于蚂蚁的寻路创建了以下类(我知道可怕的想法,但仍然)...

public class main implements Runnable{
    static int[][] maze;
    static int[] targets;
    int treadnumber;
    public main(int i){
        treadnumber=i;
    }
    public static void main(String[] args){

        maze=mazeReader.read();
        colony.createscent(maze);   
        targets =targetReader.read();

        //number of running ants
        for (int i=0; i<4;i++){
            Thread a= new Thread(new main(i));
            a.run();
        }
        System.out.println("test");

        System.out.println("and the winner is:");
        System.out.println(colony.bestroute);
        System.out.println(colony.lengthbest/2);
    }

    public void run() {
        for (int i=0; i<100 ;i++){
            System.out.println(treadnumber);
        maze =mazeReader.read();
        ant a = new ant();
        a.loadmaze(maze.clone());
        a.start(targets.clone());
        }
    }


}
Run Code Online (Sandbox Code Playgroud)

出于效率的原因,这应该是多线程的,但是当我让它们打印线程数时,我得到一个整齐的小的ordended集100 0's然后100 1的分机.这整个代码大约需要30秒才能执行,因此它们应该至少在某种程度上并行运行.我究竟做错了什么?

java multithreading

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

在c#中将多个参数化变量添加到数据库

我想在这里做一些simulair:如何在不重复声明的"INSERT INTO dbo.Blah"部分的情况下插入多行? 除了在一个查询中执行此操作(快于几十个)之外,我还想在输入来自Web时进行参数化.

目前我有

foreach(string data in Scraper){
            SqlConnection conn = new SqlConnection(WebConfigurationManager.AppSettings["ConnectionInfo"].ToString());
            string query = "INSERT INTO DATABASE('web',@data)";
            SqlCommand sqlCommand= new SqlCommand(query, conn);
            sqlCommand.Parameters.AddWithValue("@data", data);
            Command.executeNonQuery(); 
            conn.close();
}
Run Code Online (Sandbox Code Playgroud)

这有点笨拙(注意真实的例子有更多的colums但这会让事情更加混乱).

c# sql sql-server sql-server-2008

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

java默认方法不起作用

我最近升级到java,我正在尝试接口的新默认方法.但是我不断在令牌"default"上获得语法错误,删除此令牌.这是我的构建路径,我预计会出现问题: 在这里输入图像描述]![[1]

我怀疑它与我的构建路径有关,但不知道是什么.如果它与我的代码有关,这里是我正在尝试的代码:

interface Test{
      default void sayHelloWorld() {
            System.out.println("Hello World");
        }

}
Run Code Online (Sandbox Code Playgroud)

有人有任何想法吗?

java eclipse interface java-8 default-method

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

如何在对象集合中的单个变量上使用函数

我正在寻找一种方法将函数应用于对象集合,每个对象同时具有多个变量,以便我可以将函数应用于集合中的每个对象并选择我想要应用的变量到。例如:上课

point{
   int x;
   int y;
   int z;
}
Run Code Online (Sandbox Code Playgroud)

现在假设我希望将函数“展平”应用于这些点的列表,以便其中一个变量变为 0。

扁平化可能是这样的:

   flatten<variableName>(List<Point> points){
          foreach(var point in points){
             point.<variableName> = 0;
          }
   }
Run Code Online (Sandbox Code Playgroud)

有谁知道这是否可以用 c# 实现,也许使用某种反射之类的结构?我知道它可以在 Javascript 中完成,我希望在 c# 中完成,因为它可以防止大量重复代码(请注意,我想使用它的实际函数要大得多,并且包含多个子函数)。

c# reflection function

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

c编译器为mac而不是xcode

我正在尝试在Mac上编译一个简单的C程序但是我似乎无法让Xcode工作,所以我想要别的东西.我还想在我运行它时检查代码是否有错误任何人都有一个好主意?

c compiler-construction download

0
推荐指数
1
解决办法
2622
查看次数

java print string给出指针号

我正在研究java中的一个特殊的寻路系统,它需要在一个点上打印它的路径.它还远未完成,但我遇到了一个问题.当我运行我的代码时,它会打印一个指向字符串的指针而不是字符串本身.这是代码:

public class node {
    int optionnum;
    node[] options;
    String[] dirrections; 
    String[] route; 
    boolean[] visited; 

    public node(){
        options= new node[4];
        dirrections= new String[4];
        route= new String[50];
        for (int i=0;i<50;i++){
            route[i]="";
        }
        visited= new boolean[50];
    }
    public void revmdp(int num){

        visited[num]=true;
        for(int i=0;i<optionnum;i++){
            System.out.println(options[i].route[0]); //how can this be a pointer?
            options[i].revmdp(dirrections[i],num);
    }
public void revmdp(String nroute, int num){
    //System.out.println(route[0]+dirrections[0]);
    if (!visited[num]||nroute.length()<route[num].length()){
        route[num]=nroute;
        visited[num]=true;
        for(int i=0;i<optionnum;i++){
            options[i].revmdp(route+dirrections[i],num);
        }
    }
}
  }
Run Code Online (Sandbox Code Playgroud)

输出看起来像这样

[Ljava.lang.String;@2d66a22b3;
Run Code Online (Sandbox Code Playgroud)

正如你在路径的构造函数中看到的那样,我已经设置了字符串""(空字符串)的路径.由于字符串尚未更改,此时此代码被调用,我希望它返回"",但它会提供这些奇怪的字符串指针.有谁知道怎么了?

注意我已经尝试调用route [0] [0]但java不允许这样做.

java printing string pointers pathing

0
推荐指数
1
解决办法
1271
查看次数

c ++以巧妙的方式使用预定义的值填充数组

我正在寻找一种方法来在编译时使用值元素填充数组,而不是运行时.所以我正在寻找的是这样的

#define numbar
Bar foo[] = {Bar(0),Bar(1)....Bar(numbar)}
Run Code Online (Sandbox Code Playgroud)

c ++有没有办法做到这一点?也许使用宏或类似的东西?

c++ arrays

0
推荐指数
1
解决办法
187
查看次数

在c ++中获得long和double的模数的准确方法

我正在研究一个涉及计时的c ++程序,在这个程序中,我必须确定一个时间的模数,以毫秒(一个长)为单位.通常会将long转换为double并使用fmod或将double转换为int/long然后使用%.然而,这不会给我我需要的准确性.有没有办法轻松处理这个?

所以我正在寻找的是:

long a = 9999999; 
double b= 1.42 ;
double answer = a % b;  <<< how do I do this?
Run Code Online (Sandbox Code Playgroud)

c++ floating-point floating-accuracy

0
推荐指数
1
解决办法
179
查看次数