dop Δημοσ. 25 Ιουλίου 2006 Δημοσ. 25 Ιουλίου 2006 Αν δεν κάνω λάθος, το όνομα αρχείου είτε είναι το μέγιστο είτε το ελάχιστο, πιάνει τον ίδιο χώρο και όσο είναι το μέγιστο μήκος (ναι, και στο Linux έχει μέγιστο). Αν το περάσεις από τον preprocessor θα γίνει ότι και τα άλλα - αλλά αν το πάμε έτσι, θα κέρδιζε το ISO C που αναπτυσσόταν στο σύστημα με τα μικρότερα header files
chiossif Δημοσ. 25 Ιουλίου 2006 Μέλος Δημοσ. 25 Ιουλίου 2006 Άλλο ένα προς δοκιμή: And a 1986 entry from Bruce Holloway: #include <stdio.h> #define e 3 #define g (e/e) #define h ((g+e)/2) #define f (e-g-h) #define j (e*e-g) #define k (j-h) #define l(x) tab2[x]/h #define m(n,a) ((n&(a))==(a)) long tab1[]={ 989L,5L,26L,0L,88319L,123L,0L,9367L }; int tab2[]={ 4,6,10,14,22,26,34,38,46,58,62,74,82,86 }; main(m1,s) char *s; { int a,b,c,d,o[k],n=(int)s; if(m1==1){ char b[2*j+f-g]; main(l(h+e)+h+e,; printf(; } else switch(m1-=h){ case f: a=(b=(c=(d=g)<<g)<'<g)<<g; return(m(n,a|c)|m(n,|m(n,a|d)|m(n,c|d)); case h: for(a=f;a=e)for(b=g<<g;b<n;++b)o=o[b-h]+o[b-g]+c; return(o[b-g]%n+k-h); default: if(m1-=e) main(m1-g+e+h,s+g); else *(s+g)=f; for(*s=a=f;a<e;) *s=(*s<<e)|main(h+a++,(char *)m1); } } [ http://www2.latech.edu/~acm/helloworld/c.html ]
chiossif Δημοσ. 25 Ιουλίου 2006 Μέλος Δημοσ. 25 Ιουλίου 2006 Μην απογοητευθείτε με την πρώτη, υπάρχουν κάποια ορθογραφικά λάθη. Προσπαθείστε...(όστις θέλει φυσικά)
chiossif Δημοσ. 26 Ιουλίου 2006 Μέλος Δημοσ. 26 Ιουλίου 2006 Και για να "ανοίξει" η όρεξη για παιχνίδι δείτε αυτά τα "διαμάντια": http://www.fitzrovian.com/hello.html
dop Δημοσ. 26 Ιουλίου 2006 Δημοσ. 26 Ιουλίου 2006 Τα περισσότερα βέβαια από υποστηρίζουν ότι τα πάντα είναι ASCII... Πόσο φτωχοί είναι
chiossif Δημοσ. 26 Ιουλίου 2006 Μέλος Δημοσ. 26 Ιουλίου 2006 Και για να γελάσουμε ( μόνο γι'αυτό; ): http://users.tkk.fi/~mkousa/ohj_evoluutio.txt http://www.infiltec.com/j-h-wrld.htm Κι φυσικά όποιος φίλος βρει (ή ακόμα καλύτερα ΓΡΑΨΕΙ) ανάλογες προτάσεις hello world, όμορφες ή άσχημες, για γέλια ή για κλάματα ας τις στείλει. Καλό γράψιμο ή ψάξιμο...
bird Δημοσ. 26 Ιουλίου 2006 Δημοσ. 26 Ιουλίου 2006 Κι εγώ την ίδια απορία είχα Sta. Πάντως εγώ που το δοκίμασα με gcc version 3.3.5 (Debian 1:3.3.5-13) δέν κατάφερα να το κάνω να δουλέψει. Ο preprocesor μου αντικαθιστά το __FILE__ με το όνομα του αρχείου αλλά μέσα σε "αυτάκια" (") οπότε μετά δεν κάνει compile! Αφήστε που δεν μου δουλεύει η δεύτερη macro (-Dc=//) (Τα c τα αφήνει όπως είναι.) Ε, και προφανώς το -istdio.h έπρεπε να το κάνω -include stdio.h Αν κανείς έχει όρεξη να το κάνει και του δουλέψει πάντως ας μας πει... edit: Πάντως αν κάνετε ένα search εδώ για hello world θα βρείτε μερικά (μάλλον ήδη γνωστά) προγράμματα...
kalxas Δημοσ. 27 Ιουλίου 2006 Δημοσ. 27 Ιουλίου 2006 Καταπληκτικό!!! Και για να γελάσουμε ( μόνο γι'αυτό; ): http://users.tkk.fi/~mkousa/ohj_evoluutio.txt http://www.infiltec.com/j-h-wrld.htm Κι φυσικά όποιος φίλος βρει (ή ακόμα καλύτερα ΓΡΑΨΕΙ) ανάλογες προτάσεις hello world' date=' όμορφες ή άσχημες, για γέλια ή για κλάματα ας τις στείλει. Καλό γράψιμο ή ψάξιμο...[/quote']
Sta Δημοσ. 28 Ιουλίου 2006 Δημοσ. 28 Ιουλίου 2006 Αν δεν κάνω λάθος' date=' το όνομα αρχείου είτε είναι το μέγιστο είτε το ελάχιστο, πιάνει τον ίδιο χώρο και όσο είναι το μέγιστο μήκος (ναι, και στο Linux έχει μέγιστο).[/quote'] Δεν το θυμάμαι, αλλά νομίζω ότι κοστίζει σε αποθήκευση ένα μεγάλο όνομα αρχείου. Είναι και λογικοφανές εξάλλου. Αν το περάσεις από τον preprocessor θα γίνει ότι και τα άλλα - αλλά αν το πάμε έτσι, θα κέρδιζε το ISO C που αναπτυσσόταν στο σύστημα με τα μικρότερα header files Αυτό είναι θέμα προς συζήτηση: πώς δηλαδή η ποσότητα του source code προωθεί την αποδοτικότητα.
dop Δημοσ. 28 Ιουλίου 2006 Δημοσ. 28 Ιουλίου 2006 Δεν το θυμάμαι, αλλά νομίζω ότι κοστίζει σε αποθήκευση ένα μεγάλο όνομα αρχείου. Είναι και λογικοφανές εξάλλου. Από όσο είδα το ext2 έχει variable filename size. Το FAT δεν φαίνεται να έχει . Λογικοφανές είναι να είναι μεταβλητό, αλλά όχι αποδοτικό.
john1987 Δημοσ. 29 Ιουλίου 2006 Δημοσ. 29 Ιουλίου 2006 Από όσο είδα το ext2 έχει variable filename size. Το FAT δεν φαίνεται να έχει . Λογικοφανές είναι να είναι μεταβλητό' date=' αλλά όχι αποδοτικό.[/quote'] Δεν είναι δαπανηρό σε χώρο να κάνεις δέσμευση χώρου όσο το μέγιστο μέγεθος στο όνομα του αρχείου; Το όνομα δεν αποθηκεύεται στο FAT αλλά στα directory records.
dop Δημοσ. 29 Ιουλίου 2006 Δημοσ. 29 Ιουλίου 2006 Είναι, αλλά πολλά πράματα δεν γίνονται με γνώμονα το μέγεθος, αλλά την ταχύτητα (βλέπε padding bits για alignment σε structs).
john1987 Δημοσ. 30 Ιουλίου 2006 Δημοσ. 30 Ιουλίου 2006 Είναι, αλλά πολλά πράματα δεν γίνονται με γνώμονα το μέγεθος, αλλά την ταχύτητα (βλέπε padding bits για alignment σε structs). Ναι έτσι είναι, απλώς στην περίπτωση που συζητάμε δε συμβαίνει αυτό.
chiossif Δημοσ. 9 Αυγούστου 2006 Μέλος Δημοσ. 9 Αυγούστου 2006 Επιστρέφω με αυτό: #include <stdio.h> char *s="Hello world!\n"; main(){ if (*s){ putchar(*s++); main(); } } για να γίνουν και πιο κατανοητά τα προηγούμενα... ...ή και για να δώσω τροφή σε νέες "δοκιμές".
dop Δημοσ. 9 Αυγούστου 2006 Δημοσ. 9 Αυγούστου 2006 Ας το κάνουμε και σωστό ISO C: >#include <stdio.h> const char *s="Hello world!\n"; int main(void) { if (*s) { putchar(*s++); main(); } return 0; }
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.