MPI

stdio.hとmpi.hの順番によるエラー

MPI

mpiccとかmpiiccとかで以下のようなプログラムをコンパイルする時、stdio.hとmpi.hの順番を変えろ、というエラーが出る事がある。 #include <stdio.h> #include <mpi.h> int main(void){ printf("Hello\n"); } $ mpiicc test.cc /opt/intel/impi/4.1.0.030/intel64/include/m</mpi.h></stdio.h>…

stringのc_str()の指す先が破壊される

stringで作った文字列をc_str()でconst char*に受けたとき、後でそれを参照しようとすると値が破壊されている。ソースはこんな感じ。 #include <iostream> #include <mpi.h> #include <string> #include <sstream> #include <fstream> #include <iomanip> using namespace std; int main(int argc,char **argv){ i</iomanip></fstream></sstream></string></mpi.h></iostream>…