Перейти к содержимому
Форумы SkyCentre Прыжки с парашютом
Igor

Программное западло - прораммисты трут здесь

Recommended Posts

Все дело в числе 42 - оно есть ответ на Главнейший Вопрос Вселенной, и компьютеры его не могут асилить.

Попробуйте 41 или 43.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость

Будет непонятно только программистам. Пользователи поймут. :mosking:

"ARMA 3 Field Guide"
Список [клавиш управления] игры ARMA 3, текст - удалил

Пользователи (в основном - дети)) запомнят?

Note: LMB stands for Left Mouse Button and RMB for Right Mouse Button. MWU for Mouse Wheel Up and MWD for Mouse Wheel Down. The rest should be self evident.

[-]

[backspace]

[0-9]

[backspace]

[Left Ctrl]

[RMB]

[F2-F10]

[-]

[M]

[F2-F10]

[-]

[Ctrl]

[F2-F10]

[F1][F12]

[shift]

[Left Ctrl + -]

[F2]

[Right Ctrl + F2]

[HOLD RMB]

[F2-F10]

[-]

[9]

[shift][F#]

[space]

[MWD][MWU]

[space]

[N]

[space]

[RMB]

[Right Ctrl + M]

[LMB]

[MWD]

[space]

[MWD]

[FAK]

[MWD]

[space]

[~]

[5]

[4]

[Left Ctrl]

[W],

[A], [D]

[C]

[C]

[W]

[X]

[Z]

[W], [A], and [D]

[M]

[MWD]

[Left Alt]

[2x Left Alt]

[Q]

[E]

[2x Q]

[2x E]

[Z], [Q], [E]

[W], [A], and [D]

[undefined]

[X] or prone [Z]

[X]

[Z]

[V]

[undefined]

[/][.] and [,]

[undefined]

[Caps Lock]

[.]

[Right Ctrl + M][2x K]

[M]

[MWU and MWD]

[M] or [Escape]

[J]

[M]

[J]

[-] or [0]

[8]

[MWD]

[W], [A], and [D]

[E] and [Q]

[Tab]

[Left Ctrl + F]

[‘]

[RMB]

[G]

[Left Ctrl + G]

[W] and

[A] and [D]

[Q] and [E]

[NUM Enter]

[Left Alt]

[space]

[MWD]

[Q]

[Q]

[Z]

[Mouse left][Mouse right]

[W]

[X] and [C]

[MWD]

[RMB]

[LMB]

[Num +]

[Left Ctrl + RMB]

[F]

[MWD]

[HOLD RMB][Tab]

[N]

[NUM .]

[N]

[Num Enter]

[Left Alt]

[MWD]

[MWD]

[Left Ctrl + G]

[G]

[MWD]

[Num +][Num -]

[Left Ctrl + RMB]

[LMB]

[Z]

[F]

[F]

[L]

[LMB][HOLD RMB]

[HOLD RMB]

[F]

[RMB]

[Page Up][Page Down]

[LMB]

[G]

[Left Ctrl + G]

[;]

[MWD]

[Right Ctrl +;]

[RMB]

[LMB]

[HOLD RMB]

[MWD]

[2x Left Ctrl]

[LMB]

[L]

[Page Up][Page Down]

[X]

[Z]

[R]

[space]

[N]

[Left Ctrl + G]

[G]

[Z]

[RMB]

[Page Up][Page Down]

[HOLD RMB]

[LMB]

[Right Ctrl + ;]

[;]

[MWD]

[LMB]

[Page Up][Page Down]

[RMB]

[HOLD RMB]

[NUM +]

[NUM -]

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Igor,

union
{
    struct
    {
        UINT32 matchCnt : 6;
        UINT32 unmatchCnt : 7;
        UINT32 weight : 7;
        UINT32 rephrCnt : 5;
        UINT32 synCnt : 6;
        UINT32 isInformative : 1;
    };
    UINT32 normalized;
}normalized;

Под первые четыре битовых поля аллоцируется по одному байту, т.к. вместе они не влазят в базовый тип. synCnt и isInformative укладываются в 8 бит, т.е. размер структуры будет 4+1. В случае базового типа, вмещающего все битовые поля получим размер структуры 4 байта, чего видимо и хотел автор.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

#include <iostream>
#pragma pack (push, 1)
union
{
    struct
    {
        UCHAR matchCnt : 6;
        UCHAR unmatchCnt : 7;
        UCHAR weight : 7;
        UCHAR rephrCnt : 5;
        UCHAR synCnt : 6;
        UCHAR isInformative : 1;
    };
    UINT32 normalized;
}normalized;
#pragma pack (pop)

int main(int argc, char** argv)
{
    size_t a = sizeof (normalized.normalized); // 4
    size_t b = sizeof (normalized); // 5
    std::cout<<"a="<<a<<"; b="<<b<<std::endl;
    return 0;
}

УМВР VS2010 union.zip

вывод: a=4; b=4

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Avgoor, ты действительно думаешь что кому-то нужны твои pdb, sdf и прочий мусор? В VS2010 возвращает 4 и 5.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Avgoor, ты действительно думаешь что кому-то нужны твои pdb, sdf и прочий мусор? В VS2010 возвращает 4 и 5.

То есть ты solution не открывал? ctrl+f5 не нажимал?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Как ты думаешь, если я указал возвращаемые значения в VS2010, запускал я проект или нет? Расскажи про связь sln с pdb и sdf. Я сознательно упустил момент, что кроме cpp файла вообще ничего не нужно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

sln нужен. Без него этот cpp не скомпилится вообще, т.к. UINT32 и UCHAR определены где-то в недрах MFC. А где в этом cpp ссылка на что-нибудь, кроме iostrem? С остальным просто не стал париться, откомпилил и зазиповал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

UCHAR и UINT32 не имеют никакого отношения к MFC, это раз. Два, повторяю вопрос, какое отношение имеет sln к pdb и sdf, которые весят несколько мегабайт? Три, возвращаемые знаения 4 и 5, а не 4 и 4.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
UCHAR и UINT32 не имеют никакого отношения к MFC, это раз.
Прошу прощения. Ошибся. Определены в basetsd.h. Но в любом случае где на него ссылка?

Два, повторяю вопрос, какое отношение имеет sln к pdb и sdf, которые весят несколько мегабайт?
Дайлап?

Три, возвращаемые знаения 4 и 5, а не 4 и 4.

post-19207-1394736580_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Дайлап?

Нет, но многое говорит о степени осведомленности.

Теперь поменяй UCHAR на unsigned char, скомпилируй и запусти.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Теперь поменяй UCHAR на unsigned char, скомпилируй и запусти.

Зачем? Учитывая название темы, а так же сколько страниц в ней было посвящено дефайнам.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Т.е. ты считаешь нормальным определить UCHAR как unsigned int и гордо заявлять, что у тебя все работает? Постановку задачи напомнить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Постановку задачи напомнить?

Работает в VS2008, 2010, 2012 На других не проверял

Хорошо, пойдем длинной дорогой. Проверил на других: g++ 4.8.1, 3.11-0.12-generic. Не компилится. какой хедер подключить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ты действительно не понимаешь постановку задачи? Понять, что в виду имеются одно- и четырехбайтовые беззнаковые типы не в состоянии?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я считаю, на этом можно закрывать тему

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Эти бояны уже все видели?

http://developerslife.ru

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я просто оставлю это здесь.

http://www.kakprosto.ru/kak-68753-kak-sost...u-na-kompyutere

В псто приглашаются Игор и 333

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Не очень понял как определить на какой платформе будет работать моя программа, а на какой не будет.

Да просто все. Нигде не будет работать...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Не очень понял как определить на какой платформе будет работать моя программа, а на какой не будет.

Тытупойштоле?

Если ваша программа имеет интерфейс на английском языке, вы можете выложить её на сервере для бета-тестеров.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В тебе просто говорит страх потерять работу и боязнь не выдержать конкуренции со стороных молодых талантливых программистов.

Чикин!

Не раскрыта тема "Как правильно сделать сервер для бета-тестеров" :)

http://www.kakprosto.ru/kak-31505-kak-sdelat-server-iz-pk

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Профессионалы используют парашюты проверенных торговых марок, но истинные любители шьют купола самостоятельно.

Извините.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

главная шутка программистов тут

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×
×
  • Создать...