小编tel*_*oon的帖子

如何运行为旧编译器编写的程序?

我正在寻找Hybrid Tree(不重要)的实现,并在这里找到一个"旧"的.

作者说他们已经在SUN Sparc平台(运行Solaris 2.6)和gcc-2.8.1编译器上尝试了这个代码.我的环境是gcc版本4.4.3(Ubuntu 10.10).

问题是:我用他提供的makefile运行"make",但它给了我很多错误信息,如下所示:

g++  -c  Node.C
g++  -c  DataNode.C
In file included from DataNode.h:18,
                 from DataNode.C:17:
Query.h:9:20: error: vector.h: No such file or directory
Query.h:10:19: error: stack.h: No such file or directory
Query.h:13:22: error: function.h: No such file or directory
Query.h:14:22: error: iostream.h: No such file or directory
DataNode.C:283:8: warning: extra tokens at end of #endif directive
In file included from DataNode.h:18,
                 from DataNode.C:17:
Query.h:29: warning: …
Run Code Online (Sandbox Code Playgroud)

c++ compiler-construction

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

如何使用A*算法找到所有最短路径?

我知道A*算法可以找到最短的路径.但我工作中的问题是我需要找到所有最短的路径.更确切地说,可能存在几条最短路径,但我需要选择顺时针优先级中的一条最短路径.

如果我可以获得所有最短的路径,我可以得到我想要的那个(顺时针优先).

algorithm a-star shortest-path

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

如何拆分程序以充分利用多CPU,多核和超线程?

我有一堆命令要执行基因分离.例如:

msclle_program -in 1.txt
msclle_program -in 2.txt
msclle_program -in 3.txt
      .........
msclle_program -in 10.txt
Run Code Online (Sandbox Code Playgroud)

这些命令彼此独立.

环境是Linux桌面,英特尔I7(4芯/ 8螺纹7,12G存储器

我可以将这些命令拆分为不同的n.sh程序并同时运行它们.

我的问题是如何充分利用多CPU,多核和超线程来使程序运行得更快?

更具体地说,我应该拆分多少个程序文件

我个人的理解是:

  1. 分成7个程序文件.因此每个CPU将100%运行一个程序
  2. 使用一个CPU,CPU将自己利用其多核和多线程.

这是真的吗?

非常感谢你的评论.

multithreading multicore

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

scanf对于short int的奇怪行为

代码如下:

#include <stdio.h>
main()
{
    int m=123;
    int n = 1234;
    short int a;
    a=~0;
    if((a>>5)!=a){
        printf("Logical Shift\n");
        m=0;
    }
    else{
        printf("Arithmetic Shift\n");
        m=1;
    }
    scanf("%d",&a);
    printf("%d\n", m);
}
Run Code Online (Sandbox Code Playgroud)

在该行之后scanf("%d",&a);,m的值变为0.

我知道它可能是由scanf引起的:a的类型很短,输入的类型是int.但这怎么会影响m的价值呢?

非常感谢 !

c scanf undefined-behavior

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