Подробнее
* Файл Правка Вид Проект Сборка Отладка Тест Анализ Средства Расширения Окно Справка Поиск (Ctrl+Q) Consol О - »й и í *9 ~ O' - Release х64 ► Продолжить - ^ (Ж) - f¿ ^ l3 1 ’J И Процесс: [0x3DD8] ConsoleApplicationl.ex« * Поток: [0x1850] Основной поток - ^ Кадр стека: main Дизассемблированный код ConsoleApplicationl.cpp -я X IS ConsoleApplicationl ~ (Глобальная область) 1 В// ConsoleApplicationl.cpp : Этот файл содержит функцию "main”. Здесь начинается и заканчивается выполнение программы. 2 [// 3 4 #include <iostream> ConsoleApplicationl ЧЧ = * Ф mainQ int i; Sint main() { std::cin >> i; if (i == *0') std::cout << "0"; else std::cout << "/"; I B; switch (i) { case (’0’): std::cout << "0"; break; default: std::cout << break; }; В// Запуск программы: CTRL+FS или меню "Отладка" > "Запуск без отладки" [// Отладка программы: FS или меню "Отладка” > "Запустить отладку" В// Советы по началу работы // 1. В окне обозревателя решений можно добавлять файлы и управлять ими. // 2. В окне Team Explorer можно подключиться к системе управления версиями. // 3. В окне "Выходные данные" можно просматривать выходные данные сборки и другие сообщения. // 4. В окне "Список ошибок" можно просматривать ошибки. // 5. Последовательно выберите пункты меню "Проект" > "Добавить новый элемент", чтобы создать файлы кода, или "Проект" > "Добавить существующий элемент", чтобы добавить в проект существующие файлы кода // 6. Чтобы снова открыть этот проект позже, выберите пункты меню "Файл" > "Открыть" > "Проект" и выберите SLN-файл. 110% ~ @ Проблемы не найдены. 4 Стек вызовов Точки останова Параметры исключений Командное окно Окно интерпретации Вывод Список ошибок Видимые Локальные Контрольные значения 1 Стр:15 Симв: 5 Табуляция CRLF Добавить в систему управления версиями Обозреватель решений Team Explorer — Подключение Регистры Средства диагностики
* Файл Правка Вид Проект Сборка Отладка Тест Анализ Средства Расширения Окно Справка Поиск (Ctrl+Q) - У| ур - J - Release x64 ► Продолжить - ,08 (Ю - И Процесс: [0x3DD8] ConsoleApplicationl.ex* » Поток: [0x1850] Основной поток - ^ Кадр стека: main ConsoleApplicationl *4 Ч ' Я _ И - О X Дизассемблированный код -t> X ConsoleApplicationl.срр ▼ Ф Адрес: main(void) V Параметры просмотра XincLude <iostream> I int i; int main() 00007FF609B91000 48 83 EC 28 sub std::cin >> ij 00007FF609B91004 48 8B 0D A5 20 00 00 mov 00007FF609B9100B 48 8D 15 22 46 00 00 lea 00007FF609B91012 FF 15 68 20 00 00 call if (i == '0') Ф 00007FF609B91018 83 3D 15 46 00 00 30 cmp std::cout « "0"; 00007FF609B9101F 48 8D 15 6A 22 00 00 lea 00007FF609B91026 48 8B 0D 93 20 00 00 mov 00007FF609B9102D 74 07 je eLse std::cout « 00007FF609B9102F 48 8D 15 5E 22 00 00 lea switch (i) { 00007FF609B91036 E8 35 00 00 00 call std::operator«<std::char_traits<char> > (07FF609B91070h) 00007FF609B9103B 83 3D F2 45 00 00 30 cmp dword ptr [i (07FF609B95634h)],30h defauit: std::cout << break; 00007FF609B91042 48 8D 15 4B 22 00 00 lea ,[string "/” (07FF609B93294h)] 00007FF609B91049 48 8B 0D 70 20 00 00 mov ,qword ptr [_imp_std::cout (07FF609B930C0h)] 00007FF609B91050 75 07 jne main+59h (07FF609B91059h) case ('в'): std::cout << "0"; break; 00007FF609B91052 48 8D 15 37 22 00 00 lea ,[string "0” (07FF609B93290h)] }J 00007FF609B91059 E8 12 00 00 00 call std::operator<«std::char_traits<char> > (07FF609B91070h) 00007FF609B9105E 33 C0 xor 00007FF609B91060 48 83 C4 28 add ,28h 00007FF609B91064 C3 ret В— Нет исходного файла-------------------------------------------------------------- 00007FF609B91065 CC int 3 00007FF609B91066 CC int 3 00007FF609B91067 CC int 3 00007FF609B91068 CC int 3 00007FF609B91069 CC int 3 00007FF609B9106A CC int 3 110% - Стек вызовов Точки останова Параметры исключений Командное окно Окно интерпретации Вывод Список ошибок Видимые Локальные Контрольные значения 1 ,28h ,qword ptr [___imp_std::cin (07FF609B930B0h)] ,[i (07FF609B95634h)] qword ptr [__imp_std::basic_istream<char,std::char_traits<char> >::operator>> (07FF609B93080h)] dword ptr [i (07FF609B95634h)],30h ,[String "0" (07FF609B93290h)] ,qword ptr [___imp_std::cout (07FF609B930C0h)] main+36h (07FF609B91036h) ,[String "/“ (07FF609B93294h)1 П Готово t Добавить в систему управления версиями Обозреватель решений Team Explorer — Подключение Регистры Средства диагностики
it-юмор,geek,Прикольные гаджеты. Научный, инженерный и айтишный юмор,песочница
это все программист я фотошоп
это все программист я фотошоп | |
|
119 (64.3%) |
что это за язык? | |
|
66 (35.7%) |
Еще на тему
>что это за язык?
jc not_ascii
так что это все ради минусов.
register n = (count + 7) / 8;
switch (count % 8) {
case 0: do { *to = *from++;
case 7: *to = *from++;
case 6: *to = *from++;
case 5: *to = *from++;
case 4: *to = *from++;
case 3: *to = *from++;
case 2: *to = *from++;
case 1: *to = *from++;
} while (--n > 0);
}
Это штука тз 80-х, была сделана для того, чтобы секономить на проверке выхода из лупа.
Сейчас, бранч предикшн с лупами работает хорошо, да и компилятор сам умеет в анрол лупов.
Нечто подобное можно увидеть в векторизированном коде, там всякие SSE, NEON,
где высичление группируются по 4.