Αυτό το repository έχει δημιουργηθεί ώστε να χρησιμοποιείται ως βάση για projects c/cpp του τμήματος Πληροφορικής και Τηλεπικοινωνιών. Αυτό το boilerplate πρακτικά βοηθάει σε:
- directory organising (ξεχωριστα cpp, includes, object files, κτλ)
- makefile template (makefile που παίζει ανάλογα τα αρχεία που έχουμε στους φακέλου)
- default options για vscode build/debug (ρυθμίσεις ώστε να μπορούμε να κάνουμε build/debug μέσα από το vscode)
- Κάνω clone, fork ή download τοπικά
- Ανοίγω το project μέσω VS code
- Install C/C++ extension
- Πάω στο side menu Run
- Επιλέγω "Initial Configuration" για εκτέλεση
- Click F5
- debug: Ενώ βρίσκομαι σε ένα cpp αρχείο, πατάω F9 στη γραμμή που βρίσκομαι και εισάγω breakpoint. Την επόμενη φορά που θα πατήσω F5, ο κώδικας θα κάνει break σε εκείνο το σημείο
- Ορίσματα εκτελέσιμου: Τα ορίσματα εκτελέσιμου δίνονται μέσω του ./vscode/launch.json στη γραμμή 15 (πχ: "args": ["-attr", "blah.txt"])
Προκειμένου να προσθέσουμε νέα αρχεία (πχ κώδικα για ένα hashtable) χρειάζεται να κάνουμε τα παρακάτω 4 βήματα
- Προσθήκη hpp file στο include. (πχ προσθήκη ./include/hash.hpp)
- Προσθήκη του hpp file στο makefile (στη γραμμή 10 προσθέτουμε το όνομα του αρχείου, πχ από "_DEPS = stuff.hpp" θα γίνει "_DEPS = stuff.hpp hash.hpp")
- Προσθήκη cpp file στο src. (πχ προσθήκη ./src/hash.cpp)
- Προσθήκη του παραγόμενου object file στο makefile (στη γραμμή 19 προσθέτουμε το όνομα του αρχείου, πχ από "_OBJS = main.o stuff.o" θα γίνει "_OBJS = main.o stuff.o hash.o")
- Τη στιγμή που πατάμε F5 το vscode πάει στο ./vscode/launch.json και ελέγχει το configuration που τρέχουμε (πχ. Initial Configuration)
- Στην συνέχεια εκτελείται το "prelaunchTask" το οποίο πρακτικά εκτελεί το "make"
- Τελικά εκτελείται το πρόγραμμά μας σύμφωνα με τα args που έχουν δωθεί
Development/Debug με vscode αλλά εκτέλεση στα εργαστήρια Linux // από Κώστας Χατζηκοκολάκης