Μετάφραση, συμπεριλαμβανομένου ενός αρχείου πηγής, σε άλλο; Online, συμπεριλαμβανομένου ενός αρχείου πηγής C σε ένα άλλο; Από τον πηγαίο κώδικα στην εκτελέσιμη μονάδα



Μπορείτε να ενεργοποιήσετε σωστά τα αρχεία. Or.cpp σε άλλα αρχεία προέλευσης. Ανάλογα με το περιβάλλον IDE, μπορείτε συνήθως να αποτρέψετε τη διπλή δέσμευση προβάλλοντας τις ιδιότητες των αρχείων προέλευσης που θέλετε να ενεργοποιήσετε, συνήθως κάνοντας δεξί κλικ πάνω τους και κάντε κλικ στις ιδιότητες και να καταργήσετε την επιλογή του πλαισίου / ελέγχου / σύνδεσης / εξαίρεση από το συναρμολόγηση ή οποιαδήποτε άλλη επιλογή. μπορεί. Ή δεν μπορείτε να ενεργοποιήσετε το αρχείο στο ίδιο το έργο, έτσι ώστε το περιβάλλον IDE να μην γνωρίζει καν ότι υπάρχει και δεν θα προσπαθήσει να το καταρτίσει. Και με τα αρχεία make, απλά δεν βάζετε το αρχείο σε αυτό για σύνταξη και διάταξη.

Επεξεργασία: Συγνώμη, έδωσα μια απάντηση αντί για μια απάντηση σε άλλες απαντήσεις :(

Ανάλογα με το περιβάλλον συναρμολόγησης (δεν καθορίζετε) Μπορείτε να ανιχνεύσετε ότι λειτουργεί ακριβώς όπως θέλετε.

Ωστόσο, υπάρχουν πολλά περιβάλλοντα (τόσο IDE όσο και πολλά χειροκίνητα κατεργασμένα μακιγιά), τα οποία περιμένουν τη σύνταξη * .c - Εάν συμβεί αυτό, είναι πιθανό να συναντήσετε τα σφάλματα συνδέσμων λόγω της αλληλεπικάλυψης χαρακτήρων.

Κατά κανόνα, η πρακτική αυτή πρέπει να αποφευχθεί.

Εάν πρέπει να χρειαστεί να ενεργοποιήσετε την πηγή (και συνήθως θα πρέπει να αποφεύγετε), χρησιμοποιήστε ένα άλλο αρχείο για το αρχείο.

Νόμιζα ότι θα μοιραστώ την κατάσταση όταν η ομάδα μου αποφάσισε να ενεργοποιήσει τα αρχεία. Ο αρχιτέκτονας μας αποτελείται κυρίως από μονάδες που εξαπολύονται μέσω του συστήματος μηνυμάτων. Αυτοί οι χειριστές μηνυμάτων είναι διαθέσιμοι στο κοινό και προκαλούν πολλές τοπικές στατικές λειτουργίες λειτουργίας να εκτελέσουν το έργο τους. Το πρόβλημα προέκυψε όταν προσπαθούσα να πάρω μια επίστρωση για τις ενιαίες υποθέσεις δοκιμών μας, από τότε ο μόνος τρόπος Εφαρμογή αυτού του συγκεκριμένου κώδικα υλοποίησης ήταν έμμεσα μέσω μιας κοινής διασύνδεσης μηνυμάτων. Με ορισμένα χαρακτηριστικά του εργαζομένου στα γόνατα στη στοίβα, αποδείχθηκε ένας εφιάλτης για να εξασφαλιστεί η σωστή επίστρωση.

Ενεργοποίηση αρχείων.C μας έδωσε την ευκαιρία να φτάσουμε στη βίδα στο αυτοκίνητο, μας ενδιαφέρει να δοκιμάσετε.

Η ενεργοποίηση του αρχείου C σε άλλο αρχείο είναι νόμιμο, αλλά όχι κατάλληλο εάν σίγουρα δεν γνωρίζετε γιατί το κάνετε και τι προσπαθούν να επιτύχουν.
Είμαι σχεδόν σίγουρος ότι αν δημοσιεύσετε έναν λόγο εδώ, σύμφωνα με τον οποίο η ερώτησή σας θα κοινοποιηθεί στην κοινότητα, θα βρείτε έναν άλλο κατάλληλο τρόπο για να πετύχετε τον στόχο σας (προσέξτε "σχεδόν", δεδομένου ότι είναι πιθανό η παρούσα απόφαση, δεδομένου του πλαισίου).

Με την ευκαιρία, έχασα το δεύτερο μέρος της ερώτησης. Εάν το αρχείο C είναι ενεργοποιημένο σε άλλο αρχείο και ταυτόχρονα περιλαμβάνεται στο έργο, πιθανότατα θα αντιμετωπίσετε το πρόβλημα των αντιγράφων χαρακτήρων, γιατί η δέσμευση αντικειμένων, δηλαδή η ίδια λειτουργία θα οριστεί δύο φορές (αν δεν είναι στατικά ).

Η γλώσσα C δεν απαγορεύει αυτόν τον τύπο #include, αλλά η προκύπτουσα μονάδα μετάφρασης πρέπει να εξακολουθεί να είναι έγκυρη C.

Δεν ξέρω ποιο πρόγραμμα χρησιμοποιείτε το αρχείο s.prj. Εάν χρησιμοποιείτε κάτι σαν "Make" ή Visual Studio ή κάτι άλλο, βεβαιωθείτε ότι έχετε εγκαταστήσει τη λίστα των αρχείων που πρέπει να καταρτιστούν χωρίς αυτό δεν μπορεί να καταρτιστεί ανεξάρτητα.

Πρέπει να προσθέσετε έναν τίτλο παρόμοιο με αυτό.

#Περιλαμβάνω.

Σημείωση: Και τα δύο αρχεία πρέπει να τοποθετούνται σε ένα μέρος.

Μπορείτε να χρησιμοποιήσετε το GCC Compiler στο Linux για να δεσμεύσετε δύο αρχεία με μία έξοδο. Ας υποθέσουμε ότι έχετε δύο αρχεία C, μία από τις οποίες είναι "main.c", και το άλλο είναι "Support.c.". Έτσι, η εντολή για τη σύνδεση αυτών των δύο

Gcc main.con support.co.con.out

Αυτά τα δύο αρχεία θα συσχετιστούν με μια έξοδο main.out. Για να ξεκινήσετε την εντολή εξόδου θα είναι

./Main.out.

Εάν χρησιμοποιείτε τη λειτουργία MAIN.C, η οποία δηλώνεται στο αρχείο Support.coc, τότε πρέπει να το δηλώσετε κυρίως και χρησιμοποιώντας την εξωτερική κλάση αποθήκευσης.

Η επέκταση του αρχείου δεν έχει σημασία για τους περισσότερους μεταγλωττιστές C, οπότε θα λειτουργήσει.

Ωστόσο, ανάλογα με τις ρυθμίσεις του αρχείου ή του έργου σας, το αρχείο C που περιλαμβάνεται μπορεί να δημιουργήσει ένα ξεχωριστό αρχείο αντικειμένου. Όταν δεσμευτική, αυτό μπορεί να οδηγήσει σε διπλό συγκεκριμένο χαρακτήρες.

Αυτό το είδος ερώτησης που ζήτησα πρόσφατα έναν συνάδελφο, αρχίζοντας να προγραμματίζετε στο SI. Και σκέφτηκα ότι ήταν ένας καλός λόγος να μοιραστώ την κατανόησή μου για αυτό το ζήτημα. Επειδή ακόμη και οι έμπειροι προγραμματιστές δεν έχουν πάντα παρόμοιες απόψεις σχετικά με αυτό.

Εν μέρει αυτό είναι θέμα γεύσης, έτσι ποιος ενδιαφέρεται να κάνω, καλωσορίζω στη γάτα.

Παρά το γεγονός ότι "ολόκληρη η αλήθεια" σχετικά με τα αρχεία H περιέχεται στο κατάλληλο τμήμα της περιγραφής του προεπεξεργαστή της GCC, επιτρέπουν την ίδια κάποιες εξηγήσεις και εικονογραφήσεις.

Έτσι, εάν ένα κυριολεκτικά, το αρχείο κεφαλίδας (αρχείο H) είναι ένα αρχείο που περιέχει μια δήλωση και ο ορισμός μακροεντολής που προορίζεται για χρήση σε διάφορα αρχεία πηγής (αρχεία C). Το απεικονάσουμε.

Είναι εύκολο να παρατηρήσετε ότι οι λειτουργίες 1 και 2, καθώς και η μακροεντολή 2, αναφέρονται και στα δύο αρχεία. Και επειδή, η συμπερίληψη των αρχείων κεφαλίδας οδηγεί στα ίδια αποτελέσματα με την αντιγραφή των περιεχομένων σε κάθε αρχείο SI, μπορούμε να κάνουμε τα εξής:

Με αυτόν τον τρόπο, απλώς διαθέσαμε ένα κοινό μέρος δύο αρχείων και το τοποθετήσαμε στο αρχείο κεφαλίδας.
Αλλά είναι το αρχείο κεφαλίδας με τη διεπαφή σε αυτή την περίπτωση;

  • Εάν χρειαστεί να χρησιμοποιήσουμε τη λειτουργικότητα που λειτουργούν 1 και 2 εφαρμόζονται κάπου αλλού, τότε ναι
  • Εάν η μακροεντολή 2 προορίζεται μόνο για χρήση σε αρχεία UNIT1.C και UNIT2.C, τότε δεν τοποθετεί το αρχείο διασύνδεσης
Επιπλέον, πρέπει πραγματικά να έχουμε δύο αρχεία SI για να εφαρμόσουμε τη διεπαφή που ορίζεται στο αρχείο κεφαλίδας; Ή είναι ένα;
Η απάντηση σε αυτή την ερώτηση εξαρτάται από τις λεπτομέρειες της εφαρμογής των λειτουργιών διεπαφής και από τον τόπο εφαρμογής τους. Για παράδειγμα, εάν κάνετε διαγράμματα πιο λεπτομερή, μπορείτε να υποβάλετε μια επιλογή όταν οι λειτουργίες διασύνδεσης υλοποιούνται σε διαφορετικά αρχεία:


Αυτή η ενσωμάτωση οδηγεί σε υψηλούς κωδικούς, χαμηλές δοκιμές και πολυπλοκότητα Επαναχρησιμοποίηση τέτοιες μονάδες.
Για να μην έχετε τέτοιες δυσκολίες, θεωρώ πάντα ένα αρχείο C και ένα αρχείο κεφαλίδας ως μία μονάδα. Στο οποίο,
  • Το αρχείο κεφαλίδας περιέχει μόνο τις δηλώσεις λειτουργιών, τύπων, μακροεντολών που αποτελούν μέρος της διασύνδεσης αυτής της ενότητας.
  • Το αρχείο C, με τη σειρά του, πρέπει να περιέχει την εφαρμογή όλων των λειτουργιών που δηλώνεται στο αρχείο H, καθώς και τους ιδιωτικούς τύπους, τις μακροεντολές και τις λειτουργίες που απαιτούνται για την εφαρμογή της διασύνδεσης.
Έτσι, αν είχα την ευκαιρία να εφαρμόσω τον κώδικα που εφαρμόστηκε το διάγραμμα παραπάνω, θα προσπαθούσα να επιτύχω τα ακόλουθα (τέλος του _C και _h στα ονόματα αρχείων που προστέθηκαν λόγω της αδυναμίας χρήσης του σημείου που χρησιμοποίησα Δημιουργία διαγραμμάτων):


Το διάγραμμα δείχνει ότι στην πραγματικότητα έχουμε να κάνουμε με δύο ανεξάρτητες μονάδες, καθένα από τα οποία έχει τη δική του διεπαφή με τη μορφή ενός αρχείου κεφαλίδας. Αυτό καθιστά δυνατή τη χρήση μόνο αυτής της διεπαφής που είναι πραγματικά απαραίτητη σε αυτή τη συγκεκριμένη περίπτωση. Επιπλέον, αυτές οι μονάδες μπορούν να δοκιμαστούν ανεξάρτητα το ένα από το άλλο.
Ο αναγνώστης, πιθανώς, παρατήρησε ότι η μακροεντολή 2 από το αρχείο κεφαλίδας επέστρεψε και πάλι ως ένα αντίγραφο και στα αρχεία SI. Φυσικά, δεν είναι πολύ βολικό να υποστηρίξουμε. Αλλά και για να γίνει αυτό το μακροεντολικό μέρος της διεπαφής δεν είναι σωστό.
Σε τέτοιες περιπτώσεις, προτιμώ να κάνω ένα ξεχωριστό αρχείο κεφαλίδας που περιέχει τύπους και μακροεντολές που απαιτούνται από πολλά αρχεία SI.

Ελπίζω ότι κατάφερα να εντοπίσω αυτές τις οντότητες που πρέπει να τοποθετηθούν σε αρχεία κεφαλίδας. Εκτός από, δείχνουν τη διαφορά μεταξύ διεπαφών και αρχείων που περιέχουν δηλώσεις και μακροεντολές που απαιτούνται από πολλά αρχεία SI.

Σας ευχαριστούμε για την προσοχή σας στο υλικό.

Αρχεία προέλευσης

Το κείμενο του προγράμματος SI μπορεί να χωριστεί σε διάφορα αρχεία προέλευσης. Αρχικό αρχείο αντιπροσωπεύει Αρχείο κειμένουπου περιέχει είτε ολόκληρο το πρόγραμμα είτε το τμήμα του. Κατά την κατάρτιση του προγράμματος προέλευσης, κάθε ένα από τα συστατικά των αρχείων προέλευσης πρέπει να καταρτίζεται ξεχωριστά και στη συνέχεια να συσχετίζεται με άλλα αρχεία από τον συνδετήρα. Τα ξεχωριστά αρχεία προέλευσης μπορούν να συνδυαστούν σε ένα αρχείο προέλευσης, που θα καταρτίζονται ως ένας ενιαίος ακέραιος, μέσω της οδηγίας για το προεπεξεργαστή #Περιλαμβάνω..

Το αρχείο προέλευσης μπορεί να περιέχει οποιοδήποτε ολιστικό συνδυασμό οδηγιών, υποδεικνύοντας τον μεταγλωττιστή, τις διαφημίσεις και τους ορισμούς. Σύμφωνα με την ακεραιότητα, είναι κατανοητό ότι τέτοια αντικείμενα ως ορισμοί λειτουργιών, δομών δεδομένων ή ένα σύνολο συμβατικών οδηγιών σύνταξης πρέπει να βρίσκονται πλήρως σε ένα αρχείο, δηλ. Δεν μπορούν να ξεκινήσουν σε ένα αρχείο, αλλά να συνεχίσουν στο άλλο.

Το αρχείο προέλευσης δεν χρειάζεται να περιέχει τους εκτελεσμένους χειριστές. Μερικές φορές είναι βολικό να τοποθετήσετε μεταβλητές ορισμούς σε ένα αρχείο και σε άλλα αρχεία για να χρησιμοποιήσετε αυτές τις μεταβλητές με διαφήμιση. Στην περίπτωση αυτή, οι ορισμοί των μεταβλητών είναι εύκολα προσβάσιμοι για να αναζητήσουν και να τροποποιήσουν. Από τις ίδιες εκτιμήσεις, οι σταθερές που ονομάζονται και οι μακρο προσδιορισμοί συλλέγονται συνήθως Ξεχωριστά αρχεία και να τα συμπεριλάβετε μέσω της οδηγίας Preprocessor #Περιλαμβάνω. Σε αυτά τα αρχεία προέλευσης στις οποίες απαιτείται.

Ο πίνακας σημείωσης ισχύει συνήθως μόνο για μεμονωμένα τμήματα του αρχείου προέλευσης. Οι συγκεκριμένες δράσεις του μεταγλωττιστή που καθορίζονται από τις οδηγίες καθορίζονται από την ειδική εφαρμογή του μεταγλωττιστή γλωσσών SI.

Στο ακόλουθο παράδειγμα, το πρόγραμμα προέλευσης αποτελείται από δύο αρχεία πηγής. Λειτουργίες Κύριος. και Μέγιστη Που παρουσιάζονται σε ξεχωριστά αρχεία. Λειτουργία Κύριος. χρησιμοποιεί τη λειτουργία Μέγιστη στη διαδικασία εκτέλεσης.

/ * Αρχείο προέλευσης 1 - Κύριο * /

Εξωτερική int max (int, int); / * λειτουργία χαρακτηριστικών * /

Κύρια () / * Ορισμός λειτουργίας * /

int w \u003d ένα, x \u003d δύο, y \u003d τρία?

/ * Αρχείο προέλευσης 2 - Max * /

iNT MAX (A, B) / * Ορισμός λειτουργίας * /

Στην πρώτη λειτουργία του αρχείου πηγής Μέγιστη που δηλώνεται, αλλά δεν ορίζεται. Μια τέτοια λειτουργία διαφήμισης ονομάζεται προκαταρκτική. Επιτρέπει στον μεταγλωττιστή να ελέγχει την έκκληση στη λειτουργία πριν οριστεί. Ορισμός της λειτουργίας Κύριος. Περιέχει κλήσεις λειτουργιών Μέγιστη.

Σειρές που αρχίζουν με το σύμβολο # είναι οι οδηγίες του προεπεξεργαστή. Οι οδηγίες υποδεικνύουν τον προεπεξεργαστή σχετικά με την ανάγκη αντικατάστασης στο πρώτο αρχείο πηγής του ενός, δύο, τριών αναγνωριστικών στις αντίστοιχες τιμές. Η περιοχή της οδηγίας δεν ισχύει για το δεύτερο αρχείο προέλευσης.

Προγραμματισμός Kozlov Irina Sergeevna

27. C ++ αρχεία προέλευσης

27. C ++ αρχεία προέλευσης

Το πρόγραμμα στο C ++ περιλαμβάνει συχνότερα μεγάλος αριθμός Τα αρχεία προέλευσης σε καθένα από τα οποία είναι περιγραφές τύπων, λειτουργιών, μεταβλητών και σταθερών. Έτσι ώστε το όνομα να μπορεί να χρησιμοποιηθεί σε διαφορετικά αρχεία προέλευσης για να αναφέρεται σε ένα συγκεκριμένο αντικείμενο, πρέπει να περιγραφεί ως εξωτερικό. Για παράδειγμα:

Εξωτερικό διπλό SQRT (διπλό). Εξωτερική cin inteam;

Ο ευκολότερος τρόπος για να διασφαλίσετε τη συνοχή των αρχείων προέλευσης είναι οι εγκαταστάσεις των ίδιων περιγραφών σε μεμονωμένα αρχεία που ονομάζονται αρχεία κεφάλια (ή χέρι), ενεργοποιήστε, δηλαδή αντιγράψτε, αυτά τα αρχεία κεφαλίδας σε όλα τα αρχεία όπου χρειάζονται αυτές οι περιγραφές. Για παράδειγμα, εάν η περιγραφή του SQRT βρίσκεται στο αρχείο κεφαλίδας για τυποποιημένες μαθηματικές λειτουργίες του Math.h και είναι απαραίτητο να εξαγάγετε Τετραγωνική ρίζα Από 4, θα πρέπει να εφαρμόσετε το πρόγραμμα:

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

Στην Ενεργοποίηση περιλαμβάνονται εντολή, το όνομα του αρχείου βρίσκεται σε γωνιακές αγκύλες, για παράδειγμα, αναφέρεται σε ένα αρχείο με ένα τέτοιο όνομα σε έναν τυποποιημένο κατάλογο (συνήθως / USR / συμπεριλαμβάνεται / cc). Τα αρχεία που είναι αποθηκευμένα σε άλλα μέρη αναφέρονται με εφαρμογή ονομάτων που βρίσκονται σε διπλά εισαγωγικά. Για παράδειγμα:

#Include "math1.h" #include "/usr/bs/math2.h"

Ενεργοποιήστε το Math1h από τον τρέχοντα κατάλογο χρηστών και το Math2.h από τον κατάλογο / USR / BS.

Δείχνουμε πώς θα μπορούσαμε να προσδιορίσουμε τον τύπο της ροής εξόδου του Ostream. Για την απλούστευση της εργασίας, υποθέστε ότι το Buffering έχει οριστεί τύπου StreamBUF. Το ύφος του streetbuf ορίζεται στον τόπο όπου βρίσκεται επίσης και ο υπόφανος ορισμός του Ostream. Ο τύπος τύπου που ορίζεται από τον χρήστη καθορίζει τα δεδομένα που απαιτούνται για να αντιπροσωπεύουν το αντικείμενο αυτού του τύπου και ένας μεγάλος αριθμός λειτουργιών για να συνεργαστεί με αυτά τα αντικείμενα. Ο ορισμός αποτελείται από δύο μέρη: ένα κλειστό (ιδιωτικό) του μέρους στο οποίο οι πληροφορίες που χρησιμοποιούνται μόνο από τον προγραμματιστή του και το ανοικτό (δημόσιο) μέρος, το οποίο είναι η διασύνδεση τύπου χρήστη.

Από το βιβλίο του προγράμματος και των αρχείων των Windows Συγγραφέας Klimov A.

Τα αρχεία DBX σε αρχεία με την επέκταση DBX αποθηκεύονται Outlook Express.. Σε αυτά τα αρχεία, που ονομάζεται Τράπεζα Μηνυμάτων, υπάρχουν γράμματα, ομάδες ειδήσεων κλπ. Εάν επιθυμείτε, μπορείτε να αντιγράψετε αυτά τα αρχεία στον μεταφορέα πληροφοριών για τη μεταφορά δεδομένων σε άλλο υπολογιστή.

Από τον προγραμματισμό βιβλίων Συντάκτης Kozlova Irina Sergeevna

INF-αρχεία σε αυτό το άρθρο, θα εξετάσουμε τι είναι ένα αρχείο inf, πώς να συνεργαστείτε με άλλα αρχεία και μητρώο με αυτό, να δημιουργήσετε συντομεύσεις, προγράμματα εκτέλεσης κλπ. Όπως γνωρίζετε, για ένα περισσότερο ή λιγότερο σοβαρό προϊόν λογισμικού που συνήθως απαιτεί ειδικός

Από το βιβλίο Win2K FAQ (V. 6.0) Συγγραφέας Shashkov Aleksey

12. Σχόλια. Τα αρχεία προέλευσης Τα σχόλια είναι ένα σύνολο χαρακτήρων που αγνοούνται από τον μεταγλωττιστή. Αλλά πάνω Αυτό το σύνολο Σύμβολα που υπερβαίνουν ορισμένους περιορισμούς. Μέσα σε ένα σύνολο χαρακτήρων που αντιπροσωπεύουν ένα σχόλιο δεν μπορεί να είναι Ειδικοί χαρακτήρεςότι

Από το βιβλίο της Microsoft Visual C ++ και MFC. Προγραμματισμός για τα Windows 95 και τα Windows NT Συντάκτης Frolov Alexander Vyacheslavich

27. C ++ αρχεία προέλευσης Το πρόγραμμα C ++ περιλαμβάνει πιο συχνά ένα μεγάλο αριθμό αρχείων πηγής, καθένα από τα οποία είναι περιγραφές τύπων, λειτουργιών, μεταβλητών και σταθερών. Έτσι ώστε το όνομα να μπορεί να χρησιμοποιηθεί σε διαφορετικά αρχεία προέλευσης για αναφορά σε ένα συγκεκριμένο αντικείμενο, αυτό

Από το βιβλίο Unix: Η αλληλεπίδραση των διαδικασιών Συντάκτης Stevens William Richard

Αρχεία από πολλά αιτήματα Ανοίξτε μια ενότητα με χρήσιμα αρχεία για W2K. Το τμήμα αποτελείται από δύο μέρη, τα πρώτα επίσημα έμπλαστρα από τη Microsoft (όχι όλα, αλλά μόνο εκείνα που φαίνονται πιο σημαντικά για εμάς) και το δεύτερο μέρος, όπου όλα τα αρχεία που αναφέρονται στις Συχνές Ερωτήσεις θα εισέλθουν, απλά χρησιμότητα,

Από τη γλώσσα προγραμματισμού βιβλίου SI για Προσωπικός υπολογιστής Ο συγγραφέας των βαρελιών C. O.

Από το βιβλίο Compass-3D για φοιτητές και μαθητές. Σχέδιο, Πληροφορική, Γεωμετρία Συντάκτης Μπολσοφ Βλαντιμίρ

Από το βιβλίο χωρίς έγγραφα και τις ελάχιστες δυνατότητες των Windows XP Συντάκτης Klimenko Roman Alexandrovich

Τα αρχεία προέλευσης του κειμένου του προγράμματος SI μπορούν να χωριστούν σε διάφορα αρχεία προέλευσης. Το αρχείο προέλευσης είναι ένα αρχείο κειμένου που περιέχει είτε ολόκληρο το πρόγραμμα είτε το τμήμα του. Κατά την κατάρτιση του προγράμματος προέλευσης, κάθε ένα από τα συστατικά των αρχείων προέλευσης

Από τον προγραμματισμό του βιβλίου για το Linux. Επαγγελματική προσέγγιση από το Mitchell Mark

Προσάρτημα 2 Στοιχεία προέλευσης για μοντελοποίηση στερεών κρατών

Από το Unix Book: ανάπτυξη εφαρμογών δικτύου Συντάκτης Stevens William Richard

Προσάρτημα 3 Πηγή δεδομένων για τις οικογένειες μοντελοποίησης

Από το βιβλίο wiki-κυβέρνηση [πώς οι τεχνολογίες μπορούν να κάνουν την εξουσία καλύτερη, η δημοκρατία είναι ισχυρότερη και οι πολίτες - περισσότερο επιρροή] Συγγραφέας Novek στοίχημα.

Αρχεία CPL από αρκετές προηγούμενες παραγράφους Έχετε μάθει σχεδόν όλοι οι θεωρητικοί υπολογισμοί που είναι απαραίτητοι για την συνεργασία με το πρόγραμμα rundll32.exe. Τώρα θα παραχωρήσουν τις ευκαιρίες που Αυτό το πρόγραμμα Μπορεί να παρέχει στον χρήστη. Ας ξεκινήσουμε με την περιγραφή

Από το βιβλίο Unix - Universal Προγραμματισμό από τον Pike Rob

1.5.4. Τα κείμενα προέλευσης του Linux είναι ένα σύστημα ανοιχτού κώδικα, σωστά; Ο Ανώτατος Δικαστής, καθορίζοντας τον τρόπο με τον οποίο λειτουργεί το σύστημα πηγή Το ίδιο το σύστημα. Στην ευτυχία μας, είναι διαθέσιμο δωρεάν. Στην υπάρχουσα κατανομή του Linux, ενδέχεται να υπάρχουν τα κείμενα πηγής ολόκληρου του συστήματος και όλα

Από το βιβλίο του συγγραφέα

Α.3.5. Τα κείμενα προέλευσης του προγράμματος αριθμομηχανής στην καταχώριση A.3 παρουσιάζουν το κείμενο του προγράμματος που υπολογίζει την έννοια των εκφράσεων Postfix. Nexting A.3. (Calculator.c) Κύριο μέρος του προγράμματος υπολογισμού αριθμομηχανής / * σε μορφή Unange. * // * Για την είσοδο του προγράμματος σερβίρονται μονής γραμμής

Από το βιβλίο του συγγραφέα

Προσάρτημα M Διάφορα κωδικούς πηγής G.1. Το αρχείο κεφαλίδας UPD.h σχεδόν κάθε πρόγραμμα σε αυτό το βιβλίο ξεκινά με τη σύνδεση του αρχείου κεφαλίδας UPP.H που φαίνεται στην καταχώριση G.1. Αυτό το αρχείο συνδέει όλα τα τυπικά αρχεία κεφαλίδας συστήματος που απαιτούνται για τη λειτουργία.

Από το βιβλίο του συγγραφέα

Από το βιβλίο του συγγραφέα

Παράρτημα 3 Αριθμομηχανή Original κείμενα hoc Αυτά τα αρχεία περιέχουν όλο το κώδικα από το "The Unix Programming Environment", από τον Brian Kernighan και τον Rob Pike (Prentice Hall, 1984, ISBN 0-13-937681-X). Μια ξεχωριστή διανομή HOC6 περιέχει τυχόν διορθώσεις που έχουμε εφαρμόσει σε αυτό. Η έκδοση σε αυτό το αρχείο προέρχεται από το βιβλίο.Copyright © Lucent Technologies, 1997. Όλα τα δικαιώματα διατηρούν τη χρήση, αντιγραφή, τροποποίηση και διανομή αυτού του λογισμικού και την τεκμηρίωσή του για

Υποστήριξη.microsoft.

Κατά την αλλαγή των αρχείων προέλευσης στο Visual C ++ και αποθηκεύστε τα, οι χορδές πρέπει να ολοκληρώσουν τους χαρακτήρες "CR / LF" [το σύμβολο επιστροφής φορέα, τη μετάφραση σειράς]. Στα συστήματα Unix, οι χορδές ολοκληρώνονται χρησιμοποιώντας το "LF". Έτσι, κατά την προβολή των αρχείων που έχουν αλλάξει στην ομάδα των Windows σε συστήματα UNIX, οι χαρακτήρες που έχουν ρυθμιστεί "^ m" μπορούν να εμφανιστούν σε γραμμές. Αυτό συμβαίνει μόνο όταν χρησιμοποιείτε τον επεξεργαστή δεν ξέρει πώς να ερμηνεύσει Αρχείο Windows. Visual C ++ Μπορείτε να ανοίξετε αρχεία, σε χορδές που τελειώνουν με τη δημιουργία του Unix LF. Εάν αλλάξετε αυτό το αρχείο και αποθηκεύστε το από το Visual C ++, και στη συνέχεια αποθηκεύεται μέσα Μορφή των Windows (Θα δείτε το CR / LF και όχι το LF, το οποίο ήταν στο παρελθόν στο σύστημα).

Αυτό το άρθρο περιγράφει τις διαδικασίες για την αποθήκευση του αλλαγμένου αρχείου που δημιουργήθηκε στην πλατφόρμα των Windows σε μορφή που μπορεί να χρησιμοποιηθεί σε συστήματα UNIX.

ΣΗΜΕΙΩΣΗ: Visual C ++. Το NET IDE περιέχει λειτουργίες διαθέσιμες για να αποθηκεύσετε το αρχείο σε μορφή Unix. Σε ένα ολοκληρωμένο περιβάλλον ανάπτυξης, αποθηκεύστε το αρχείο χρησιμοποιώντας Αποθήκευση ως..., επιλέξτε Αποθήκευση από την αναπτυσσόμενη λίστα Αποθηκεύστε με την κωδικοποίηση ...και κάντε κλικ στο κουμπί Thrn Ναί. Επιλέξτε από την αναπτυσσόμενη λίστα τη γραμμή που κωδικοποιεί UNIX (LF)και στη συνέχεια κάντε κλικ στο Εντάξει.

Μπορεί να χρησιμοποιηθεί επόμενα βήματα Για να δημιουργήσετε μια εφαρμογή Console Win32, ένα έργο που μετατρέπει ένα αρχείο που περιέχει το "CR / LF" για να ολοκληρώσει τη συμβολοσειρά για "LF":

  1. Για να δημιουργήσετε ένα νέο κενό έργο Win32 με το όνομα Dos2unix χρησιμοποιώντας τις εφαρμογές κονσόλας Win32.
  2. Του Αρχείο Μενού, κάντε κλικ στην επιλογή Νέοςκαι στη συνέχεια κάντε κλικ στο Αρχεία Αυτί.
  3. Επιλέγω Αρχείο πηγής C / C ++ Και εισάγετε το όνομα του νέου αρχείου Dos2unix.cpp.
  4. Εισαγάγετε τον ακόλουθο κώδικα στο Dos2unix.cpp:

    #Περιλαμβάνω. #Περιλαμβάνω. #Περιλαμβάνω. Χρησιμοποιώντας το Namespace STD. Int Main (Int Argc, Char * ARGV) (αν (ARGC! \u003d 2) (Cout<< "Please specify: dos2unix filename" << endl; return 0; } char ch; char temp="\0"; //Open the file for reading in binarymode. ifstream fp_read(argv, ios_base::in \ / ios_base::binary); sprintf(temp, "%s.temp", argv); //Create a temporary file for writing in the binary mode. This //file will be created in the same directory as the input file. ofstream fp_write(temp, ios_base::out \ / ios_base::trunc \ / ios_base::binary); while(fp_read.eof() != true) { fp_read.get(ch); //Check for CR (carriage return) if((int)ch == 0x0D) continue; if (!fp_read.eof())fp_write.put(ch); } fp_read.close(); fp_write.close(); //Delete the existing input file. remove(argv); //Rename the temporary file to the input file. rename(temp, argv); //Delete the temporary file. remove(temp); return 0; }

  5. Του Κτίριο Μενού, κάντε κλικ στην επιλογή Δημιουργία dos2unix.exe. Για να δημιουργήσετε ένα αρχείο exe.

Μπορεί να χρειαστεί να ελέγξετε αυτό το αρχείο exe για να δείτε αν λειτουργεί σωστά. Για να το κάνετε αυτό, ανοίξτε το αρχείο στον Visual C ++ δυαδικό επεξεργαστή κατά την επιλογή Ανοιξε σε μια ομάδα Αρχείο Μενού επιλέγοντας dos2unix.ex, ρύθμιση Ανοίγω ως Kom. Δυάδικοςκαι στη συνέχεια κάνοντας κλικ Ανοιξε. Για παράδειγμα, εάν το αρχείο περιέχει "HelloCrlfworld", τα δυαδικά δεδομένα αρχείων (δεκαεξαδικά) θα μοιάζουν με αυτό:

48 65 6 C 6 C 6F 0 D 0A 57 6F 72 6 C 64

Αυτό ισοδυναμεί με:

γεια
Ειρήνη

Στη γραμμή εντολών, εκτελέστε την εντολή dos2unix.exe . Στη συνέχεια, ανοίξτε το αρχείο στον Visual C ++ Binary Editor. Θα δείτε ότι το 0x0d s διαγράφεται. Μέχρι να αλλάξετε το αρχείο και να το αποθηκεύσετε στο Visual C ++ 0x0d s δεν θα εμφανιστεί.

Αυτό μπορεί να χρησιμοποιηθεί σε συνδυασμό με το μοντέλο αυτοματοποίησης Visual C ++ αυτοματοποιήστε ολόκληρη τη διαδικασία. Το απλό σενάριο μακροεντολών της Microsoft Visual Basic μπορεί να γραφτεί για να καλέσει αυτό το ταμείο, αλλά πρώτα πρέπει να προσθέσετε Υπηρεσία Το μενού έχει ως εξής:

  1. Του Υπηρεσία Μενού, κάντε κλικ στην επιλογή Σύνθεσηκαι στη συνέχεια κάντε κλικ στο Υπηρεσία Αυτί.
  2. Καθορίστε το όνομα, όπως το Dos2unix και καθορίστε την πλήρη διαδρομή στο αρχείο Dos2unix.exe στο Ομάδα Πεδίο επεξεργασίας.
  3. Ορίστε για το επιχείρημα, $ (fileame) $ (fileext).
  4. Καθορίστε τον κατάλογο προέλευσης $ (Wkspdir) (καθορίστε τη δική σας διαδρομή).

Για να ελέγξετε το πρόγραμμα, ανοίξτε το αρχείο στον Επεξεργαστή Visual C ++ και στη συνέχεια από Υπηρεσία Μενού εκκίνησης Dos2unix που σημαίνει. Θα δείτε ότι όλοι οι χαρακτήρες της CR διαγράφηκαν στον επεξεργαστή.

Αν χρειαστεί να αυτοματοποιήσετε αυτή τη διαδικασία για να επεξεργαστείτε με τέτοιο τρόπο ώστε κάθε φορά που αποθηκεύετε το ανοιχτό αρχείο στον οπτικό επεξεργαστή C ++, το εργαλείο Dos2unix.exe καλείται να καταργήσει το 0x0d s και στη συνέχεια να χρησιμοποιήσει την ακόλουθη μακροεντολή VBScript:

"Αυτό το έγγραφο εκτοξεύεται κάθε φορά που το έγγραφο αποθηκεύεται στον επεξεργαστή VC ++. Sub application_documentsave (Thedocument)" Αυτό θα καλέσει το εργαλείο χρήστη στο μενού Εργαλεία. Msgstr "Αλλαγή του αριθμού ανάλογα με το τι έχετε. Από προεπιλογή μόνο" έχετε 6 εργαλεία κάτω από το μενού Εργαλεία, έτσι ώστε το εργαλείο Dos2unix να είναι το 7ο. ExecuteCommand "USERTOOL7"

Αυτός ο κωδικός VBScript θα λειτουργήσει μόνο εάν έχετε ανοίξει αρχεία στον οπτικό επεξεργαστή C ++. Αυτός είναι ο μόνος τρόπος για να καλέσετε ένα αρχείο exe από μια μακροεντολή VBScript (η μακροεντολή VBScript δεν μπορεί να μεταφερθεί στις παραμέτρους). Μπορείτε να γράψετε αντ 'αυτού και θα είναι πιο ευέλικτο. Καλέστε το εργαλείο "dos2unix.exe" από το πρόσθετο χωρίς να χρειάζεται να το προσθέσετε Υπηρεσία μενού.

Στο Visual C ++ χρησιμοποιώντας τις μακροεντολές που παρέχονται από το VBScript:

  1. Ανοίξτε ένα υπάρχον αρχείο με επέκταση.DDSM ή δημιουργήστε ένα.
  2. Τοποθετήστε τον κωδικό που εμφανίζεται προηγουμένως στο αρχείο.
  3. Στο Visual C ++, ακολουθήστε τα εξής βήματα.
    1. Του Υπηρεσία Μενού, κάντε κλικ στην επιλογή Σύνθεση.
    2. πάτα το κουμπί Αρχεία μακροεντολών και πρόσθετα Αυτί.
    3. πάτα το κουμπί ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ Κατεβάστε το αρχείο.dsm που περιέχει μακρο. Μία φορά στο αρχείο.Dsm επιλέχθηκε μέσα ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑΠαράθυρο διαλόγου, το αρχείο θα εμφανιστεί στο Συμπληρώματα και μακροεντολές Κατάλογος αρχείων χρησιμοποιώντας το επιλεγμένο πλαίσιο ελέγχου δίπλα του.
    4. πάτα το κουμπί Κλείσε να συνεχίσει.

Τώρα, αν ανοίξετε το αρχείο στον Επεξεργαστή Visual C ++ και αποθηκεύστε από το αρχείο Αρχείο Το μενού που ονομάζεται Macro και όλα τα 0x0d s θα διαγραφεί από το ανοιχτό αρχείο. Καθώς επηρεάζει οποιοδήποτε αρχείο, αποθηκεύστε από τώρα και στο εξής και ισχύει σε οποιοδήποτε έργο για να ανοίξει στο μέλλον, βεβαιωθείτε ότι έχετε απενεργοποιήσει τη μακροεντολή Υπηρεσία Μενού με βοήθεια Σύνθεση (Καταργήστε την επιλογή του πλαισίου ελέγχου δίπλα στη μακροεντολή).