Skip to content

Instantly share code, notes, and snippets.

Address Sanitizer

clang -fsanitize=address -lstdc++ %filename% -o %output_filename%

libFuzzer

build libFuzzer

~/Fuzzer/build.sh

simple test

  1. clang -lstdc++ -g -fsanitize=address -fsanitize-coverage=edge ~/fuzzer-test-suite/tutorial/fuzz_me.cc libFuzzer.a
  2. ./a.out
struct formater
{
formater(const char* str, size_t size)
: format(str, size)
{
}
template<class ...T>
std::string operator()(T&&... s) const
{
@drewxa
drewxa / .cpp
Created September 12, 2017 08:58
#include <iostream>
#include <iomanip>
#include <cstdint>
#include <array>
using size_t = std::size_t;
// тут не шаблон, а auto в аргементах
auto simple_mult = [](const auto& a, const auto& b){return a*b;};
@drewxa
drewxa / lab2.md
Last active September 29, 2017 07:32

Записать условие, которое является истинным, когда:

  • каждое из чисел X и Y нечетное;
  • только одно из чисел X и Y меньше 20;
  • хотя бы одно из чисел X и Y равно нулю;
  • каждое из чисел X, Y, Z отрицательное;
  • только одно из чисел X, Y и Z кратно пяти;
  • хотя бы одно из чисел X, Y, Z больше 100.

Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит 8: первое число — номер вертикали (при счете слева направо), второе — номер горизонтали (при счете снизу вверх). Даны натуральные числа a, b, c, d, каждое из которых не превосходит 8.

  • На поле (a, b) расположена ладья. Записать условие, при котором она угрожает полю (c, d).

struct Table
{
  std::vector<std::string> get_column_names() const;
};

Сделать псевдонимы

@drewxa
drewxa / LoHiSort.cpp
Last active November 12, 2017 11:49 — forked from hackallcode/LoHiSort.cpp
#include <map>
#include <vector>
#include <string>
#include <algorithm>
#include <thread>
#include <future>
#include <iostream>
@drewxa
drewxa / lab08.md
Last active November 17, 2017 09:43

Задание 1

Реализуйте функцию stringCopy

char* stringCopy(const char*);
const char * p = "some string";
char * newString = stringCopy(p);
p[0] = 'S';
std::cout << p << std::endl; // Some string
#include <ctime>
#include <iostream>
#include <string>
#include <memory>
#include <boost/array.hpp>
#include <boost/asio.hpp>
using boost::asio::ip::tcp;
std::string makeMessage(const char* data, int len)
1 sudo apt-get install build-essential g++ python-dev autotools-dev libicu-dev:i386 build-essential libbz2-dev:i386
2 sudo apt-get install g++ make binutils cmake libssl-dev:i386 libboost-dev:i386 git
3 sudo apt-get install g++:i386 cpp:i386 gcc:i386 binutils:i386
4 sudo apt-get install libboost-system-dev:i386 libboost-date-time-dev:i386 libboost-iostreams-dev:i386 libboost-locale-dev:i386 libboost-regex-dev:i386
5 cd ~
6 git clone https://github.com/reo7sp/tgbot-cpp.git
7 cd ~/tgbot-cpp
8 mkdir build && cd build
9 cmake ..
10 cd ~/tgbot-cpp/build/

Открыть терминал

wget -O boost_1_59_0.tar.gz http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz/download
tar xzvf boost_1_59_0.tar.gz
cd ~/boost_1_59_0/
sudo apt-get update
sudo apt-get install build-essential g++ python-dev autotools-dev libicu-dev build-essential libbz2-dev
./bootstrap.sh --prefix=/usr/
./b2 threading=multi
sudo ./b2 install