Τρέξιμο τρίτου προγράμματος μέσα από κώδικα

Γενικά θέματα για τις γλώσσες προγραμματισμού που δεν καλύπτονται από τις άλλες περιοχές της κατηγορίας.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
nikoszhs
Δημοσιεύσεις: 4
Εγγραφή: 13 Ιουν 2010 17:01
Τοποθεσία: ΑΘΗΝΑ-ΠΑΤΡΑ

Τρέξιμο τρίτου προγράμματος μέσα από κώδικα

Δημοσίευση από nikoszhs » 13 Ιουν 2010 17:35

Γεια σας παιδιά,
θέλω να φτιάξω έναν κώδικα που να ανοίγει το xfoil (το xfoil είναι ένα πρόγραμμα για σχεδιασμό και ανάλυση αεροτομής γραμμένο σε fortran, στην ουσία τρέχει ανοίγοντας το αρχείο .exe και γράφοντας του εντολές) και να εκτελεί στο xfoil μία σειρά από εντολές οι οποίες είναι τυποποιημένες (πάντα οι ίδιες) αλλά κάθε φορά να μεταβάλλεται μία εσωτερική μεταβλητή του xfoil.Το βασικό μου πρόβλημα είναι πως αφενός δεν ξέρω πως θα επιτύχω να τρέξει το xfoil τις εντολές από ενα αρχείο .txt και αφετέρου πως ο κώδικας να μεταβάλλει μία εσωτερική μεταβλητή του xfoil και να ξανατρέχει το xfoil.
όποιος μπορεί ας βοηθήσει (χρησιμοποιώ matlab και fortran)...
ευχαριστώ
ΝΙΚΟΛΑΣ

Άβαταρ μέλους
soteres2002
S. & H. Moderator
Δημοσιεύσεις: 1524
Εγγραφή: 05 Μαρ 2004 22:17
Τοποθεσία: Ιωάννινα

Τρέξιμο τρίτου προγράμματος μέσα από κώδικα

Δημοσίευση από soteres2002 » 14 Ιουν 2010 02:27

Είναι σχεδιαστική συνήθεια όλων των κατασκευαστών λειτουργικών να παρέχουν στους προγραμματιστές συστήματος κάποιο API συστήματος για να καλεί κανείς διοχετεύσεις σε άλλα προγράμματα...

Βασικά αυτές είναι υλοποιημένες στις βιβλιοθήκες που έρχονται με τους περισσότερους compilers, αλλά και σε κάθε γλώσσα υπάρχει κάποιο wrapper για να καλεί κανείς τέτοιου είδους κλήσεις συστήματος... Ακόμα και σε αυτήν την περίπτωση, οι γλώσσες όπως πχ Python, PHP που παρέχουν POSIX και μη κλήσεις, κάνουν re-use τις κλήσεις συστήματος συνήθως στο C/C++ interface που παρέχει το σύστημα.

Στην C πχ σε Λινουξ ή Win μπορείς να γράψεις την εντολή

Κώδικας: Επιλογή όλων

#include <stdlib.h>

...
system&#40;"/path/to/external/program.exe -parameter1 value1 -parameter2 value2"&#41;;
...
Εδώ όμως απαιτείται για να κάνει αυτό το πρόγραμμα που θες την δουλειά που θες εσύ καλώντας το από αλλη διεργασία να του δώσεις "συνιάλλο" ότι θες να κάνει κάτι συγκεκριμένο. Αν απλώς καλώντας το πρόγραμμα αυτό κάνει την δουλειά, τότε είσαι οκ. Αλλιώς πρέπει να περάσεις ειδικές παραμέτρους κατα την πιο πάνω κλήση συστήματος. Σε εξειδικευμένες περιπτώσεις, θα πρέπει να χρησιμοποιήσεις IPC οπως signals κτλ.

Φυσικά αυτό αφορά την γενική περίπτωση. Συνήθως με τον τρόπο που σου ανέφερα στο code tag κάνεις τη δουλειά σου...

nikoszhs
Δημοσιεύσεις: 4
Εγγραφή: 13 Ιουν 2010 17:01
Τοποθεσία: ΑΘΗΝΑ-ΠΑΤΡΑ

Τρέξιμο τρίτου προγράμματος μέσα από κώδικα

Δημοσίευση από nikoszhs » 14 Ιουν 2010 14:54

Βασικά θέλω να εκτελείται μια σειρά εντολών του xfoil... Aυτές πως θα του ορίσω να τις τρέχει στο xfoil, θα επισυνάψω ένα .txt με όλες αυτές τις εντολές και αφού ανοίγει το xfoil (κώδικας που έστειλες) μετά τι εντολή θα βάλω για τις τρέχει μέσα στο πρόγραμμα;
Kαι δεύτερον εκεί που έχεις βάλει τις παραμέτρους με τις τιμές τους (parameter1 value1 -parameter2 value2) εγώ με τι θα τα αντικαταστήσω ; Με την εσωτερική μεταβλητή του xfoil που θέλω να μεταβάλλω ?και με τι ονομά θα την καλώ αυτήν ; με το όνομα που την υπολογίζω από το xfoil ή με το όνομα που έχει αυτή στον κώδικα πίσω από το xfoil ;
ΝΙΚΟΛΑΣ

Άβαταρ μέλους
soteres2002
S. & H. Moderator
Δημοσιεύσεις: 1524
Εγγραφή: 05 Μαρ 2004 22:17
Τοποθεσία: Ιωάννινα

Τρέξιμο τρίτου προγράμματος μέσα από κώδικα

Δημοσίευση από soteres2002 » 15 Ιουν 2010 18:27

Koita den to ksero to Xfoil, omws me ligo google searching vrika oti einai ena programma tou MIT. right?

basika stin system() tha valeis mesa o,ti tha ektelesouses esu manually apo command line. den boreis na peiraxeis esoterikes metavlites tou programmatos i na kaleis routines ktl...

nikoszhs
Δημοσιεύσεις: 4
Εγγραφή: 13 Ιουν 2010 17:01
Τοποθεσία: ΑΘΗΝΑ-ΠΑΤΡΑ

Τρέξιμο τρίτου προγράμματος μέσα από κώδικα

Δημοσίευση από nikoszhs » 15 Ιουν 2010 18:38

ναι σωστά, του MIT.καλώς, θα το ψαξω.Ευχαριστώ.
ΝΙΚΟΛΑΣ

Απάντηση

Επιστροφή στο “γλώσσες προγραμματισμού - γενικά”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης