1
1

Re-define the order of #includes because MPI's C++ bindings

unfortunately redefined some C library constants (SEEK_SET, SEEK_CUR,
SEEK_END).  Scheesh -- who designed those bindings, anyway?

Most <stdio.h>'s and <iostream>'s are sane enough that if those values
are already #define'd, they won't redefine them.  So various other
MPI's out there have counseled that if you want to compile with the
C++ MPI bindings, ensure to include "mpi.h" before <iostream> or
<stdio.h> (in C++ source files).

This commit was SVN r11511.
Этот коммит содержится в:
Jeff Squyres 2006-08-31 18:16:27 +00:00
родитель 6c2e938d31
Коммит a4378a6643
2 изменённых файлов: 16 добавлений и 2 удалений

Просмотреть файл

@ -7,8 +7,15 @@
// Sample MPI "hello world" application in C++
//
#include <iostream>
// MPI's C++ bindings unfortunately redefined some POSIX constants
// (SEEK_SET and friends). Fortunately, most versions of <iostream>
// and <stdio.h> are sane enough that if you include "mpi.h" first,
// they won't redefine the problematic values. Note, however, that
// this means that you should not make calls to fseek(3) (and friends)
// in a C++ source file that includes <mpi.h>!
#include "mpi.h"
#include <iostream>
int main(int argc, char **argv)
{

Просмотреть файл

@ -7,8 +7,15 @@
// Simple ring test program
//
#include <iostream>
// MPI's C++ bindings unfortunately redefined some POSIX constants
// (SEEK_SET and friends). Fortunately, most versions of <iostream>
// and <stdio.h> are sane enough that if you include "mpi.h" first,
// they won't redefine the problematic values. Note, however, that
// this means that you should not make calls to fseek(3) (and friends)
// in a C++ source file that includes <mpi.h>!
#include "mpi.h"
#include <iostream>
int main(int argc, char *argv[])
{