Newsgroup: it.comp.lang.visual-basic
Titolo: OT: un po' di buonumore

Scusate l'OT. Sono fuori (intendo in vacanza) e non posso provare. Mi dicono
che il file di testo allegato è codice C funzionante: potete provare a
compilarlo e a vedere se è vero? Io non ci credo, ma se è vero abbiamo
trovato la vendetta definitiva per chi dice che il VB fa spaghetti-code. Per
chi vuole solo divertirsi, posto il codice anche qui:
#include <stdio.h>
main(t,_,a)
char *a;
{
return!0<t?t<3?main(-79,-13,a+main(-87,1-_,main(-86,0,a+1)+a)):
1,t<_?main(t+1,_,a):3,main(-94,-27+t,a)&&t==2?_<13?
main(2,_+1,"%s %d %d\n"):9:16:t<0?t<-72?main(_,t,
"@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l+,/n{n+,/+#n+,/#\
;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq#'l \
q#'+d'K#!/+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'){)#}w'){){nl]'/+#n';d}rw' i;#\
){nl]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#n'wk nw' \
iwk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c \
;;{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+;#'rdq#w! nr'/ ') }+}{rl#'{n'
')#\}'+}##(!!/")
:t<-50?_==*a?putchar(31[a]):main(-65,_,a+1):main((*a=='/')+t,_,a+1)
:0<t?main(2,2,"%s"):*a=='/'||main(0,main(-61,*a,
"!ek;dc i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-O;m .vpbks,fxntdCeghiry"),a+1);
}
Saluti,
Domenico

con vc++ da ben 5 errori e non compila.....
=( cosa dovrebbe fare??

Cos'è? La formula che conferma il funzionamento della teoria della
relatività di Einstein?
O forse il famoso OCX "che fa il cappuccino?"


...


and a partridge in a per tree.

...and a partridge in a per tree.
Ma come cavolo hai fatto? Il mio compilatore si č suicidato nel tentativo...

...


...
Fuonziona, piu' o meno. Questo dimostra la flessibilita' del C che ti
permette di inserire codice macchina direttamente del sorgente.
Io lo facevo anche con il QuickBASIC 4.5, ma non credo che si possa fare
anche con il VB.

le patches della sp3 del visual studio.
A me da questi errori:
Compiling...
Foo.cpp
C:\Programmi\DevStudio\MyProjects\Foo\Foo.cpp(2) : error C2065: 't' :
undeclared identifier
C:\Programmi\DevStudio\MyProjects\Foo\Foo.cpp(2) : error C2065: '_' :
undeclared identifier
C:\Programmi\DevStudio\MyProjects\Foo\Foo.cpp(2) : error C2065: 'a' :
undeclared identifier
C:\Programmi\DevStudio\MyProjects\Foo\Foo.cpp(3) : error C2448: 'main' :
function-style initializer appears to be a function definition
C:\Programmi\DevStudio\MyProjects\Foo\Foo.cpp(3) : fatal error C1004:
unexpected end of file found
Qualche suggerimento?

 ...  return!0<t?t<3?main(-79,-13,a+main(-87,1-_,main(-86,0,a+1)+a)): ....
Francesco Mapelli ( 
mape...@tin.it
 )
http://members.xoom.com/Francesco
Mousestats, il contachilometri per il mouse
http://members.xoom.com/mousestats
Sito comune programmatori Visual Basic
http://members.xoom.com/it_lang_vb

...



(Rispondo a questo messaggio perche' non trovo piu' l'originale)
Se non ricordo male e' uno dei tanti esempi che fanno vedere come con
il c si possa scrivere codice perfettamente funzionante senza che sia
minimamente comprensibile.
Viene usato per invitare i programmatori a scrivere codice chiaro e
leggibile, anche se questo non e' strettamente necessario.
Federico


Il listato e' C, non C++
Tra l'altro la dichiarazione di main()  (mai viste di peggiori) non e'
nemmeno standard ANSI, ma in vecchio K&R...
Comunque, il tutto pare essere uno di quegli stupendi pezzi di Obfuscated
C...
Per chi non lo sapesse, fanno delle gare in cui vince chi riesce a scrivere
un programma in C (funzionante) nel modo piu' incomprensibile possibile.
Una volta avevo trovato un sorgente C che disegnava (in testo) un
labirinto... e il sorgente era "a labirinto", nel senso che aveva proprio la
forma di un labirinto!
Adoro il C!
--
Roal Zanazzi
z...@iol.it

anche con il VB.
Decisamente no. Al massimo si fa una DLL in C e la si chiama da VB...
--
Roal Zanazzi
z...@iol.it

                Encoding: quoted-printable
--
demis 
Head of M.T.D. group
[Internet: chi cerca trova]

 permette di inserire codice macchina direttamente del sorgente.


Decisamente no. Al massimo si fa una DLL in C e la si chiama da VB...
Questo si poteva farlo anche con il QB 4.5, compilando una .LIB, ma non e'
la stessa cosa di inserire codice assembly compilato in mezzo ad istruzioni
BASIC. Non credo che in VB si possa fare perche' non c'e' un modo per far
saltare l'esecuzione ad un indirizzo di memoria, altrimenti sarebbe
possibile.