# мистика. призрак 1985 года

Тема в разделе "WASM.HEAP", создана пользователем kaspersky, 3 дек 2008.

  1. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    берем программу "HELLO WORLD" by Jack Applin and Robert Heckendorn, 1985

    main(v,c)char**c;{for(v[c++]="Hello,world!\n)";(!!c)[*c]&&(v--||--c&&execlp(*c,*c,c[!!c]+!!c,!c));**c=!c)write(!!*c,*c,!!**c);}

    считаем размер. получаем 128 байт
    компилируем MS VC 6 с ключом /Ox
    считаем размер кода (без данных).
    получаем... те же самые 128 байт!

    сабж.
     
  2. Dian

    Dian Member

    Публикаций:
    0
    Регистрация:
    19 июн 2008
    Сообщения:
    222
    Код не поддается оптимизации?
     
  3. iamlamer

    iamlamer New Member

    Публикаций:
    0
    Регистрация:
    20 июн 2005
    Сообщения:
    273
    Адрес:
    Russia
    > считаем размер

    В Си-шном случае считаем с данными, т.к. "хелло ворлд" входит в текст. Так что никакой мистики, а чистая случайность.
     
  4. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    iamlamer
    > Так что никакой мистики, а чистая случайность.
    ежу понятно, что случайность ;) но это очень интересная случайность,
    что MS VC 6 /Ox сгенерирл именно 128 байт кода, а не 126 скажем...

    > Код не поддается оптимизации?
    в смысле? программа выводит:
    1) с пустой ком. строкой hello,world!
    2) с непустой ком. строкой - первый арг. на байт короче

    а что за оптимизация имеется ввиду? по скорости? по размеру?

    гм. это вообще-то программа из соревнования по непонятному программированию. но это хороший пример "сделать" себе мозги, в смысле заняться сексом ;)
     
  5. Phuntik

    Phuntik New Member

    Публикаций:
    0
    Регистрация:
    4 фев 2008
    Сообщения:
    318
    Интересно, как это у вас компилируется?:
    Код (Text):
    1. --------------------Configuration: temp - Win32 Debug--------------------
    2. Compiling...
    3. main.cpp
    4. e:\prog\temp\main.cpp(1) : error C2065: 'v' : undeclared identifier
    5. e:\prog\temp\main.cpp(1) : error C2065: 'c' : undeclared identifier
    6. e:\prog\temp\main.cpp(1) : error C2448: '<Unknown>' : function-style initializer appears to be a function definition
    7. e:\prog\temp\main.cpp(1) : fatal error C1004: unexpected end of file found
    8. Error executing cl.exe.
     
  6. rudik

    rudik Руденко Артём

    Публикаций:
    0
    Регистрация:
    6 дек 2006
    Сообщения:
    302
    Адрес:
    г. Харьков
    Надеюсь етот умный человек так остальной код не писал... Ноги за такое отрезать нада, индусы отдыхают...
     
  7. kaspersky

    kaspersky New Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    3.006
    Phuntik
    это не плюсы. это ветхозаветный си.
    смени расширение на .c - ms vc компилит нормально, даже без варнингов
     
  8. satrau

    satrau Александр

    Публикаций:
    0
    Регистрация:
    5 янв 2008
    Сообщения:
    229
    rudik
    Этот человек может вообще ничего не писать и оно будет компилиться и работать так как надо.
    Эх, когда уже придумают машмину для трансфера знаний и умений от человека к человеку...