我正在寻找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) 我知道A*算法可以找到最短的路径.但我工作中的问题是我需要找到所有最短的路径.更确切地说,可能存在几条最短路径,但我需要选择顺时针优先级中的一条最短路径.
如果我可以获得所有最短的路径,我可以得到我想要的那个(顺时针优先).
我有一堆命令要执行基因分离.例如:
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,多核和超线程来使程序运行得更快?
更具体地说,我应该拆分多少个程序文件?
我个人的理解是:
这是真的吗?
非常感谢你的评论.
代码如下:
#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的价值呢?
非常感谢 !