Articles of fortran

Ecrire un fichier binary à partir de fortran et lire en C

J’essaie de lire un fichier binary généré à partir d’un programme fortran. Je reçois des caractères étranges dans ma sortie, se pourrait-il que les deux groupes aient une endianité différente?

Références à DFOR.LIB de Compaq Visual Fortran

J’ai un ancien projet Visual C ++ qui utilise une bibliothèque statique FORTRAN pour la création d’objects. Le problème actuel est que le projet a été créé à l’origine avec le compilateur Compaq Visual Fortran, qui utilise la bibliothèque DFOR . Cependant, j’obtiens l’erreur: Erreur 105 Erreur LNK1104: impossible d’ouvrir le fichier ‘dfor.lib’ Le problème […]

Comstackr avec Clang et Gfortran

J’essaie de comstackr un projet sur lequel j’ai récemment commencé à travailler et on m’a demandé de comstackr le code dans clang au lieu de gcc. Il y a un fichier CMake pour le projet, et j’ai essayé de créer le projet en utilisant cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ ../src Cependant, une erreur est générée, ce qui, […]

Utiliser GDB pour déboguer un programme MPI en Fortran

J’ai lu ceci et je suis arrivé ici , alors maintenant je pense que je devrais (sinon, s’il vous plait, dites-moi) réécrire le code { int i = 0; char hostname[256]; gethostname(hostname, sizeof(hostname)); printf(“PID %d on %s ready for attach\n”, getpid(), hostname); fflush(stdout); while (0 == i) sleep(5); } en Fortran. D’après cette réponse, j’ai […]

Passer un tableau 2D dynamic de C ++ à Fortran et inversement

Passer un tableau 2D fixe entre C ++ et Fortran fonctionne bien, mais pas avec le programme que j’ai écrit pour passer un tableau dynamic 2D de C ++ à Fortran. Côté C ++ extern “C” {void array2d_(double **, int *, int *); } using namespace std; int main() { double **array; int nx=3; int […]

Intruments Call Tree mélange mal composé de R, C ++ et Fortran

J’essaie de profiler une fonction d’OpenMx, un package R contenant du code C ++ et Fortran, pour le temps de calcul. Mon système d’exploitation est OS X 10.10. J’ai lu la section concernant ce sujet dans le manuel R. Cette section et cet article m’ont amené à essayer Instruments. Voici ce que j’ai fait Instruments […]

Programmation mixte C ++ / Fortran: référence non définie à `_gfortran_reshape_r8 ‘

Je comstack un code C ++ avec le sous-programme Fortran. Le code cpp c ++ est comme: #include “Calculate.h” extern “C” double SolveEq_(double *Gvalue, double *GvalueU, double *GvalueV, double *Gnodex, double *Gnodey, double *GtimeInc, double *Glfs); template void Calculate(vector<Element > &elm, GParameter &GeqPm, GmeshInfo &Gmesh) { // Solving Equation using Fortran code SolveEq_(&Gmesh.Gvalue[0], &Gmesh.GvalueU[0], &Gmesh.GvalueV[0], […]

Référence non définie à la fonction Fortran en C ++

Je n’arrive pas à comprendre pourquoi cela ne fonctionne pas. /* main.cpp */ #include extern “C” { int __stdcall inhalf(int *); } int main() { int toHalf = 2; int halved = inhalf(&toHalf); printf(“Half of 2 is %d”, halved); return 0; } Ok, ça a l’air bien. $ g++ -c main.cpp Aucune erreur. ! functions.f90 […]

MinGW: La liaison avec LAPACK et BLAS provoque la gestion des exceptions C ++.

La situation est simple mais étrange. Lorsque je comstack mon programme sans la source LinearAlgebra.o (ce qui nécessite une liaison à LAPACK), les exceptions C ++ sont interceptées et gérées. Lorsque je n’inclue pas cette unité de compilation mais que je fais quand même un lien vers les bibliothèques ( -llapack -lblas ), les exceptions […]

comment mixer fortran et C ++ dans Visual Studio 2010?

J’essaie d’appeler la fonction c ++ du programme principal Fortran. Pour ce faire, j’ai suivi les étapes ci-dessous dans visual Studio 2010: Pour créer un projet de bibliothèque statique C ++ Dans la barre de menus, choisissez Fichier, Nouveau, Projet. Dans le volet gauche de la boîte de dialog Nouveau projet, développez Installé, Modèles, Visual […]