Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Δεν ξερω τι να κανω. Oταν κανω compile μου λεει exit status 1
stray '\316' in program και μου κοκκινιζει duration = pulseIn(echoPin,HIGH)

 Οποιος ξερει να απαντισει😶😊

Δημοσ.

Σίγουρα το google θα έχει πιο καλές απαντήσεις,

Αν έχεις κάνει copy - paste τον κώδικα που εισάγεις από κάποιο site/forum το πιο πιθανό είναι να είναι σε λάθος unicode.

Δημοσ.
  Στις 31/1/2019 στις 3:43 ΜΜ, Makairi είπε

Δεν ξερω τι να κανω. Oταν κανω compile μου λεει exit status 1
stray '\316' in program και μου κοκκινιζει duration = pulseIn(echoPin,HIGH)

 Οποιος ξερει να απαντισει😶😊

Αν έκανες έστω και ένα στοιχειώδες ψάξιμο στο google θα έβρισκες τη λύση η οποία είναι ότι έχεις κάποιο unicode χαρακτήρα στο πρόγραμμά σου.

% echo $LANG
el_GR.UTF-8
% echo "Γεια" > tmp.c
% hexdump -C tmp.c 
00000000  ce 93 ce b5 ce b9 ce b1  0a                       |.........|
% hexdump -b tmp.c 
0000000 316 223 316 265 316 271 316 261 012                            

% cc tmp.c 
tmp.c:1:1: σφάλμα: stray ‘\316’ in program
 Îεια
 ^
tmp.c:1:2: σφάλμα: stray ‘\223’ in program
 Îεια
  ^

Οι Ελληνικοί χαρακτήρες σε UTF-8 χρειάζονται δύο bytes. Όταν λοιπόν γράψω τη λέξη Γεια σε ένα αρχείο, βλέπεις ότι το Γ αντιστοιχεί στο 0xCE93 (συνήθως το 1ο byte είναι CE). Από κάτω βλέπεις το ίδιο αλλά σε οχταδικό σύστημα που είναι και αυτό που σου εμφανίζει ο compiler στα μηνύματα λάθους. Το 316 λοιπόν που σου βγάζει είναι το 1ο byte από κάποιο utf8 χαρακτήρα. Από τον επόμενο κωδικό που παίρνεις λάθος μπορείς να δεις και ποιος χαρακτήρας είναι που πρέπει να αλλάξεις.

Αν δεν είναι κάποιος Ελληνικός χαρακτήρας, τα πιο συνήθη λάθη σε C (συνήθως γίνονται γιατί έγινε copy-paste ο κώδικας από word ή pdf) είναι εισαγωγικά ", κενό διάστημα, παύλα.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...