migf1 Δημοσ. 9 Μαρτίου 2015 Δημοσ. 9 Μαρτίου 2015 @gon: Ποιο κατέβασες; Εγώ δοκίμασα μόλις από το git του defacer και τόσο ο Windows7 Photo Viewer όσο και το Gimp τις βλέπουν κανονικά τις παραγόμενες bmp εικόνες.
gon1332 Δημοσ. 10 Μαρτίου 2015 Δημοσ. 10 Μαρτίου 2015 Έκανα clone το του defacer. Θα κατεβάσω ένα gimp για να το δοκιμάσω κι εγώ. Πάντως το δοκίμασα και σε Windows 8.1 Photo Viewer και έλεγε πως είναι κατεστραμμένο. REFRESH: Ξαναέκανα clone. Κάνω compile με: g++ -Wall -Wextra -std=c++11 *.cpp -o mazegen Εμφανίζονται αυτά τα warnings: In file included from MazeGenerator.cpp:2:0: Maze.h: In constructor ‘Maze::Maze(int, int, bool, bool)’: Maze.h:30:8: warning: ‘Maze::dumpSteps’ will be initialized after [-Wreorder] bool dumpSteps; ^ Maze.h:26:9: warning: ‘Color Maze::pathColor’ [-Wreorder] Color pathColor; ^ Maze.h:48:1: warning: when initialized here [-Wreorder] Maze::Maze(int height, int width, bool classic, bool steps) : ^ το τρέχω και εμφανίζεται το test.bmp το οποίο και ΔΕΝ ανοίγει ούτε με gimp. Το επισυνάπτω κιόλας. Να τονίσω πως είμαι από Linux. test.bmp
bnvdarklord Δημοσ. 10 Μαρτίου 2015 Μέλος Δημοσ. 10 Μαρτίου 2015 Για ανέβασε μία ένα τέτοιο κατεστραμμένο αρχείο.
παπι Δημοσ. 10 Μαρτίου 2015 Δημοσ. 10 Μαρτίου 2015 Λογικα με αυτο θα δουλευει https://github.com/AnonymoPapaki/maze-generator/commit/3a6a4e4ffa5acbbc9265d20dfb38bdaa80408242 Ειναι λαθος και ο υπολογισμος του μεγεθους, αλλα δεν νομιζω να νοιαζεται και πολυ ο viewer
gon1332 Δημοσ. 10 Μαρτίου 2015 Δημοσ. 10 Μαρτίου 2015 Για ανέβασε μία ένα τέτοιο κατεστραμμένο αρχείο. Είναι συννημένο στο προηγούμενο post μου. Θα το δοκιμάσω τώρα παπί. @παπι Δούλεψε!
bnvdarklord Δημοσ. 10 Μαρτίου 2015 Μέλος Δημοσ. 10 Μαρτίου 2015 Κάτι με το header παίζει λάθος, στην εικόνα το συγκρίνω με ένα αντίστοιχο που βρήκα στο φάκελο που είχα τον κώδικα από τότε που άνοιξα το thread. Πώς γινεται όμως να δουλευε σε μένα αλλά τώρα σε εσένα να σκαλώνει;(ισως το packing του struct μεταξύ compilers; )
gon1332 Δημοσ. 10 Μαρτίου 2015 Δημοσ. 10 Μαρτίου 2015 + του ότι γίνονται όλα aligned στο μεγαλύτερο μέγεθος στο struct ή σε lword (padding) + ότι άλλο microsoft compiler και άλλο gcc (padding-alignment) + διαφορετικές αρχιτεκτονικές (32bit vs 64bit, βλέπε το πιο τρανταχτό sizeof(unsigned char *)) + ότι μετά από ΟΛΑ τα παραπάνω χρησιμοποιείται sizeof. EDIT: Λέω βλακείες; Είναι και αργά.
gon1332 Δημοσ. 10 Μαρτίου 2015 Δημοσ. 10 Μαρτίου 2015 #include <stdint.h> FTW! Μεγάλη υπόθεση! Εδώ βλέπω ότι μιλάνε για bits. Άρα δεν έχουμε εδώ την έννοια των "C bytes" και την εκπλήρωση/ικανοποίηση αναπαράστασης τουλάχιστον κάποιου range; Τί σκαλίζω κι εγώ; Αλλά γιατί όχι;
migf1 Δημοσ. 10 Μαρτίου 2015 Δημοσ. 10 Μαρτίου 2015 Δεν ανταποκρίνομαι πλεόν. Μετά από τόσο code conversion και το σεντόνι που έγραψα στο άλλο νήμα, έχω τερματίσει! Αυτό που κατάλαβα από τα "συμφραζόμενα" είναι πως δεν σου δούλευε εσένα γιατί ο compiler σου έχει το long ίσο με 64bits, ενώ στα windows είναι 32bits. Για αυτό και είπα για <stdint.h>... αντί για long βάζεις int32_t και είναι παντού ίδιο. Δεν είμαι για παραπάνω απόψε
gon1332 Δημοσ. 10 Μαρτίου 2015 Δημοσ. 10 Μαρτίου 2015 Ok! Δεν πιέζω άλλο Αλλά αυτό θέλω να μου το απαντήσετε. Γιατί χρησιμοποιήθηκε sizeof για τον υπολογισμό του header size και όχι κάτι hardcoded, εφόσον έτσι (sizeof) δεν είναι portable;
migf1 Δημοσ. 10 Μαρτίου 2015 Δημοσ. 10 Μαρτίου 2015 Ok! Δεν πιέζω άλλο Αλλά αυτό θέλω να μου το απαντήσετε. Γιατί χρησιμοποιήθηκε sizeof για τον υπολογισμό του header size και όχι κάτι hardcoded, εφόσον έτσι (sizeof) δεν είναι portable; Δεν έχω δει καν τον κώδικα. Αλλά αν ήταν int32_t αντί για long, τότε hardcoded kai sizeof θα ήταν παντού ίδια, ανεξαρτήτως compiler.
bnvdarklord Δημοσ. 10 Μαρτίου 2015 Μέλος Δημοσ. 10 Μαρτίου 2015 Ok! Δεν πιέζω άλλο Αλλά αυτό θέλω να μου το απαντήσετε. Γιατί χρησιμοποιήθηκε sizeof για τον υπολογισμό του header size και όχι κάτι hardcoded, εφόσον έτσι (sizeof) δεν είναι portable; Ποιος ξέρει, και εγώ τον κώδικα του bitmap έτοιμο τον είχα πάρει τότε που το έφτιαξα αυτό. Ήμουν φρέσκος από C# κτλ τότε και φοβόμουν να δοκιμάσω κάτι τέτοιο μονος μου
migf1 Δημοσ. 10 Μαρτίου 2015 Δημοσ. 10 Μαρτίου 2015 Μπορεί αυτός που το έγραψε να είχε documented πως είναι Windows specific ο κώδικας. Ή μπορεί να μην ήξερε πως είναι compiler dependent. Ή μπορεί όταν τον έγραψε να μην υπήρχαν καν 64bit πλατφόρμες Ποιος ξέρει;
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα