Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.03.19;
Скачать: [xml.tar.bz2];

Вниз

Хумор в программной реализации...   Найти похожие ветки 

 
wicked ©   (2006-02-23 14:12) [0]

#define Bytes
#define KBytes * 1024 Bytes
#define MBytes * 1024 KBytes
#define GBytes * 1024 MBytes
///
char buf[5 MBytes];
///


ЗЫ подозреваю, что баян, но вот, вспомнилось....


 
Джо ©   (2006-02-23 14:31) [1]

Мощно задвинул :)


 
jack128 ©   (2006-02-23 15:53) [2]

На ту же тему
#define private public


 
Igorek ©   (2006-02-23 17:05) [3]

#define #define //


 
Джо ©   (2006-02-23 17:19) [4]

> [3] Igorek ©   (23.02.06 17:05)
> #define #define //

Правильно. Defin"ы должны умереть :)


 
pasha_golub ©   (2006-02-23 17:31) [5]

Блин, а я не догнал. :-( Поясните кто-нить, а?


 
Igorek ©   (2006-02-23 17:32) [6]


> pasha_golub ©   (23.02.06 17:31) [5]

Что именно?


 
wicked ©   (2006-02-23 18:34) [7]

> Igorek ©   (23.02.06 17:05) [3]
а не сработало.... билдер сказал "низзя, хочу идентификатор"....


 
umbra ©   (2006-02-23 18:36) [8]

#define what I_want


 
jack128 ©   (2006-02-23 18:36) [9]

pasha_golub ©   (23.02.06 17:31) [5]
#define  XXX YYY означает, что препроцессор заменит XXX на YYY
В примере wicked после всех подстановок в результате получится такой код:
сhar buf[5 * 1024 * 1024];

мой код опубликует все private поля и методы
а код Игорька просто закоментирует все define"ы


 
Igorek ©   (2006-02-23 21:22) [10]


> а код Игорька просто закоментирует все define"ы

Не, викед прав - будет ошибка. Я когда писал, сам толком не представлял как оно будет работать. :)
И сейчас не понимаю, почему не так, как ты написал.


 
Джо ©   (2006-02-23 21:36) [11]

> [10] Igorek ©   (23.02.06 21:22)
> И сейчас не понимаю, почему не так, как ты написал.

конструкция требует в третьей позиции идентификатор, а не комментарий (пустой токен, если можно так выразиться), т.е, "идентификатор", действительно, пропущен.


 
wicked ©   (2006-02-23 23:35) [12]

> Джо ©   (23.02.06 21:36) [11]

> конструкция требует в третьей позиции идентификатор, а не
> комментарий (пустой токен, если можно так выразиться), т.
> е, "идентификатор", действительно, пропущен.

не в третьей, а во второй.... на что заменять, препроцессору, в общем то, глубоко все равно.... а вот что заменять - нет..... см. заглавный постинг, #define Bytes


 
Джо ©   (2006-02-23 23:43) [13]

> [12] wicked ©   (23.02.06 23:35)

Действительно, так, похоже и есть.


 
Piter ©   (2006-02-24 02:58) [14]

jack128 ©   (23.02.06 18:36) [9]
В примере wicked после всех подстановок в результате получится такой код:
сhar buf[5 * 1024 * 1024];


это понятно, но в чем прикол? Типа хумор же...

С #define private public понятнее.

А тут что?

Ну можно еще так:

Mbytes = array[1.. 1024 * 1024] of Byte;
...
var
 s: array[1..5] of MBytes;


Ну и... где смеяться?..


 
pasha_golub ©   (2006-02-24 07:31) [15]


> Piter ©   (24.02.06 02:58) [14]


> сhar buf[5 * 1024 * 1024];
>
> это понятно, но в чем прикол? Типа хумор же...


Вот я тоже понял, что оно так подставиться. Почему и спрашиваю, где слово "лопата"? :)



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2006.03.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.017 c
15-1140775934
DSKalugin
2006-02-24 13:12
2006.03.19
Способы защиты exe/dll от модификации ресурсов


3-1138186225
SdrCoder
2006-01-25 13:50
2006.03.19
Variant or safe array is locked


2-1141445966
anubis
2006-03-04 07:19
2006.03.19
Дайте пожалуста свойства компомента TTable


2-1141154113
opopo
2006-02-28 22:15
2006.03.19
Get Var By Name, получение переменной по имени.


2-1141127012
antoxa2005
2006-02-28 14:43
2006.03.19
ПОМОГИТЕ ! Как так Class TEdit not found ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский