Media is too big
VIEW IN TELEGRAM
#visualstudio #этобаза #настройки Рассказываю про настройки проектов C/C++ в Visual Studio Часть 1 (General)
🥰2💋2🏆1
Зацените макрос:
Как думаете для чего такой можно использовать?
#define D(a) printf("\n%-4d: %s", LINE, #a); aКак думаете для чего такой можно использовать?
🤔2🤯2🤓1
#книга Юреш Вахалия "Unix изнутри". Это прекрасная книга по операционным системам. Вы узнаете ретроспективу создания принципов работы современных операционных систем. Как появился язык Си. Как появился Unix, как создавались ОС в начале, как появлялись процессы и потоки, как работают планировщик, менеджеры памяти и многое другое. Лично мне очень понравилось. Плюс я даже имплементил планировщик из SVR5, что особенно клёво было сделать. Не скажу что обязательна для чтения, но она мне показалась романтичной.
👍2💯1🤓1
Media is too big
VIEW IN TELEGRAM
#чутьсложнее 14 минут пытаюсь сделать ошибку в коде, и, по дороге, рассказываю как прочитать код функции
❤🔥1
Очень занятная статейка: https://habr.com/ru/companies/ruvds/articles/849340/
Хабр
Можно ли получить рут при помощи одной зажигалки?
Спойлер: ДА . Элитный инструмент для хакинга; от вас скрывают, что он уже у вас есть Прежде чем писать эксплойт, нам нужен баг. А если багов нет, то приходится быть изобретательными — тут нам на...
#книга Эта блестящая серия книг состоит из двух (вроде) классных книг по C++. Лучше чем эти книги по C++ я не читал. Страуструп как автор языка конечно хорошая книга, но скорее как справочник. Эти книги рассчитаны на то, что читатель уже знает синтаксис языка, но хочет теперь разобраться в том как на нём кодить. Вся философия и суть языка передаётся в форме задач и подробным разбором их решений. Там есть всё что вам нужно знать о C++ (для начала). Увы я не видел обновления для современных стандартов (11..20). Правда для начала надо знать и эту базу. Обязательно к прочтению всем!
❤1
Задача на ночь: на языке С напишите без использования typedef и глобальных переменных функцию с реализацией, которая получает массив из четырёх указателей на функции и возвращает указатель на функцию, которая берётся из массива (аргумент) и выбирается по очереди от вызова к вызову. Все указатели на функцию получают два int и возвращают int.
EBFE: software internals
Задача на ночь: на языке С напишите без использования typedef и глобальных переменных функцию с реализацией, которая получает массив из четырёх указателей на функции и возвращает указатель на функцию, которая берётся из массива (аргумент) и выбирается по очереди…
Немного проясню). Есть где-то некое множество функций с одинаковым заголовком: принимают два инта и возвращают инт (типо операторы бинарные, например). Далее есть некоторая функция (которую вам надо написать в рамках задачи) которая принимает массив ровно из четырёх элементов с указателями на функции указанного вида, и по очереди (от вызова к вызову) возвращает один из этих указателей. С typedef это элементарно и выглядит так, что просто затайпдефили типы указателей на функции и написали требуемую - просто выбор одного из четырёх long из массива (по сути так и есть - в рамках ассемблера неотличимо будет). Однако, по условиям задачи нельзя использовать typedef - это немного усложняет - надо понять как синтаксически функция может вернуть указатель на функцию - это немного необычно и редко используется, но знать надо. Ответ будет в ближайшее воскресенье вечером. Дерзайте!
+++[>+++++<-]>>+<[>>++++>++>+++++>+++++>+>>+<++[++<]>---] >++++.>>>.+++++.>------.<--.+++++++++.>+.+.<<<<---.[>]<<.<<<.-------.>++++. <+++++.+.>-----.>+.<++++.>>++.>-----. <<<-----.+++++.-------.<--.<<<.>>>.<<+.>------.-..--.+++.-----<++.<--[>+<-] >>>>>--.--.<++++.>>-.<<<.>>>--.>. <<<<-----.>----.++++++++.----<+.+++++++++>>--.+.++<<<<.[>]<.>> ,[>>+++[<+++++++>-]<[<[-[-<]]>>[>]<-]<[<+++++>-[<+++>-[<-->-[<+++>- [<++++[>[->>]<[>>]<<-]>[<+++>-[<--->-[<++++>-[<+++[>[-[-[-[->>]]]]<[>>]<<-] >[<+>-[<->-[<++>-[<[-]>-]]]]]]]]]]]]] <[ -[-[>+<-]>] <[<<<<.>+++.+.+++.-------.>---.++.<.>-.++<<<<.[>]>>>>>>>>>] <[[<]>++.--[>]>>>>>>>>] <[<<++..-->>>>>>] <[<<..>>>>>] <[<<..-.+>>>>] <[<<++..---.+>>>] <[<<<.>>.>>>>>] <[<<<<-----.+++++>.----.+++.+>---.<<<-.[>]>] <[<<<<.-----.>++++.<++.+++>----.>---.<<<.-[>]] <[<<<<<----.>>.<<.+++++.>>>+.++>.>>] <.> ]> ,] <<<<<.<+.>++++.<----.>>---.<<<-.>>>+.>.>.[<]>++.[>]<. >[Translates brainfuck to C. Assumes no-change-on-EOF or EOF->0. Generated C does no-change-on-EOF, and uses unistd.h read and write calls. Daniel B Cristofani (cristofdathevanetdotcom) http://www.hevanet.com/cristofd/brainfuck/]brainfuck.org
some brainfuck fluff
Includes a complete language reference, plus my many brainfuck programs and some implementations and commentary.