小编Jef*_*eff的帖子

什么是"收到信号15"

什么可能导致C,MPI程序使用在Gentoo Linux集群上运行的名为SUNDIALS/CVODE(一个数字ODE求解器)的库来重复Signal 15 received.

该代码是由MPI,Sundials,Linux,C还是谁发布的?

请注意,我几乎是初学者,拥有以下技术:C,MPI,SUNDIALS/CVODE和Linux.

通过Google搜索消息,我找不到任何与之相关的内容.我甚至不知道从哪里开始看.(这是其中一个问题,其中"任何有用的"都是字面意思.)

(作为抛开/事后的想法,为什么Chrome的字典不能识别"google搜索"这个词?).

c linux mpi ode

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

如何在 Cygwin(Linux 模拟器)中使用 Eclipse(IDE)?

我为这个问题的愚蠢提前道歉,但我很困惑 h@&!甚至不知道该问什么了。

对于我的数学论文 - 即,我不是程序员 - 我必须编写使用CVODE 库的C 代码,它是 SUNDIALS 的一部分(你需要所有这些细节吗?)。但是我不能直接在程序最终运行的 Gentoo Linux 集群上工作。

根据 SUNDIALS 的网站,CVODE 很少在本机 Windows 环境中编译和使用,但已使用 Cygwin 使用。所以我想在我的 Windows PC 上使用 Cygwin 设置一个 C 编程环境,包括一个 IDE(尤其是调试器)。

我已经在我的 64 位 Windows PC 上安装并执行了基本的 Cygwin(加上一个用于 nano 编辑器的包)。我想使用 Eclipse IDE,它适用于 Linux 和 Windows,并且实际上只能用于图形界面(我认为)。我想我接下来应该设置 Eclipse(然后是 CVODE)。这就是我现在正在努力做的。

我的基本问题是如何设置 Eclipse 以使用 Cygwin?运行 Eclipse 需要哪些 Cygwin 包?

从文档中,我看到 Cygwin 有一个服务器(Cygserver),但没有图形界面。或者,它可能有一个称为 Cygwin/X 的图形界面。我是否在 Windows 中设置 Eclipse 以与 Cygserver 通信,然后在 Windows 中完成我的工作,但编译等会在 Cygserver 中进行?或者,我是否安装 Cygwin/X 并使用 Linux 版本的 …

linux windows cygwin windows-7

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

如何将值传递给Make,它将传递给C代码

我正在寻找帮助让我的Makefile做我想做的事情.

我已经想出如何将预处理代码添加到我的C源代码中,只有在我编译调试时才会编译:

#if DEBUG
  printf("main()\n");

  {
    /* Pauses execution so gdb can attach. */
    int i=9;
    pid_t PID;
    char hostname[256];
    gethostname(hostname, sizeof(hostname));
    printf("PID %d on %s ready for attach.\n", PID=getpid(), hostname);
    fflush(stdout);
    while (i>0) {
      sleep(5);
      i--;
    }
  }
#endif
Run Code Online (Sandbox Code Playgroud)

而且我已经想出如果我添加-DDEBUG=1到我的编译语句中,上面的代码将被编译(否则它不会被编译).

接下来,我想将一个标志传递给我的Makefile,它将包含或不包含该-D选项.目前,我有两个单独的编译行,我在适当时评论和取消注释.这是我的Makefile(我从某人那里继承并且很难理解).看看说的那些CFLAGS?:

SHELL = /bin/sh

prefix       = /home/schwarz/sundials/instdir
exec_prefix  = ${prefix}
includedir   = ${prefix}/include
libdir       = ${exec_prefix}/lib

CPP         = cc -E
CPPFLAGS    =
CC          = cc
# CFLAGS      = -Wall -g
CFLAGS      = -Wall …
Run Code Online (Sandbox Code Playgroud)

c linux makefile

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

为什么最右边的数字不是零(C/Linux)?

如果你打印的浮点数比存储在存储器中的精度更高,那么它们不应该是额外的零点吗?我有这样的代码:

double z[2*N]="0";
...
for( n=1; n<=2*N; n++) {
  fprintf( u1, "%.25g", z[n-1]);
  fputc( n<2*N ? ',' : '\n', u1);
}
Run Code Online (Sandbox Code Playgroud)

这是创建这样的输出:

0,0.7071067811865474617150085,....

一个浮点数应该只有17个小数位(右边?不是53位到17个小数位).如果是这样的话,那么第18,19 ...... 25位应该有零.请注意,在上面的输出中,它们的数字不是0.

我误会了什么吗?如果是这样,什么?

c floating-point

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

标签 统计

c ×3

linux ×3

cygwin ×1

floating-point ×1

makefile ×1

mpi ×1

ode ×1

windows ×1

windows-7 ×1