我在Linux上安装了Intel Compiler composer_xe_2013_sp1.3.174.我对icc警告感到困惑.使用简单的程序main.c提供icc,如下所示:
int main(int argc, char **argv) {
int a = 1;
unsigned int b = -22;
if (b = a) {
}
}
Run Code Online (Sandbox Code Playgroud)
我用命令编译了文件:icc -Wall main.c.令人惊讶的是,该命令在没有任何警告的情况下静默工作.我是否必须打开icc上的警告开关?谢谢
在启动时自动启动软件的帖子解释了运行级别2将使用NFS启动系统完全生产,运行级别5将支持整个系统以及其他图形支持.该runlevel命令将显示上一个和当前的运行级别,
telinit并将更改系统运行级别.
我试过了两个,命令runlevel告诉我
N 2
Run Code Online (Sandbox Code Playgroud)
这意味着当前运行级别为2.但系统正在以图形模式运行(我使用的是ubuntu 12.10).所以,我的问题是,为什么当前运行级别的Ubuntu是2虽然我正在运行图形系统.
然后我尝试使用telinit 5具有root权限的命令,将当前运行级别更改为5并重新启动系统.系统以正常方式重新启动,像往常一样运行gnome-session.但是,当我runlevel重新启动后再次运行时
,它仍会显示
N 2
Run Code Online (Sandbox Code Playgroud)
我对这种结果感到困惑,因为我把它改成了5.你能告诉我为什么吗?
谢谢
我想知道为什么签名MPI_Send如下:
int MPI_Send(void *buf, int count, MPI_Datatype datatype, int dest, int tag,
MPI_Comm comm)
Run Code Online (Sandbox Code Playgroud)
第一个参数是类型void *.为什么是类型的第一个参数void *而不是const void *.会MPI_Send修改来源吗?
我问这样的问题,因为我使用MPI和C++并传递message.c_str()到message类型的MPI_Send函数std::string.通过这种方式,编译器抱怨.