Skip to content

Instantly share code, notes, and snippets.

@oktal
oktal / sitemap_crawl.cc
Created August 25, 2013 21:13
A simple XML sitemap crawler using C++ Poco Libraries.
#include "Poco/DOM/DOMParser.h"
#include "Poco/DOM/Document.h"
#include "Poco/DOM/AutoPtr.h"
#include "Poco/SAX/InputSource.h"
#include "Poco/Net/HTTPClientSession.h"
#include "Poco/Net/HTTPRequest.h"
#include "Poco/Net/HTTPResponse.h"
#include "Poco/Net/DNS.h"
#include "Poco/DOM/ElementsByTagNameList.h"
#include <set>
@oktal
oktal / article-cpp-vartemplates.md
Created May 20, 2013 19:33
Article sur les variadic templates pour le laboratoire SL3

Title: Jouons avec C++11: métaprogrammation et variadic templates Date: 2013-05-19 12:26:00 Tags: c++, c++11, templates, variadic templates, metaprogrammation Author: Mathieu Stefani

Aujourd'hui nous allons nous détendre avec un peu de C++, mais pas n'importe quel C++ ! Nous allons faire du C++11 et nous allons explorer ensemble une fonctionnalité très intéressante et aux nombreuses possibilités du langage : les variadic templates.

@oktal
oktal / compile-time-crc32.cc
Created May 14, 2013 02:00
Compile-time C++ CRC32
constexpr unsigned int crc32_table[] = {
0, 0x77073096, 0xEE0E612C, 0x990951BA,
0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,
0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988,
0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91,
0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,
0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7,
0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC,
0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5,
0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172,
@oktal
oktal / binary-converter.cc
Created May 13, 2013 20:25
Safe compile-time binary converter
#include <iostream>
#include <type_traits>
#include <cassert>
namespace details {
template<typename T> struct DigitValue {
};
template<> struct DigitValue<int> {
static constexpr int v(const int value) { return value; }
@oktal
oktal / binary-converter.cc
Created May 13, 2013 20:02
Compile-time binary conversion with variadic templates
#include <iostream>
#include <type_traits>
#include <cassert>
namespace details {
template<typename T> struct DigitValue {
};
template<> struct DigitValue<int> {
static constexpr int v(const int value) { return value; }
@oktal
oktal / utilisation_gdb.md
Last active December 17, 2015 02:38 — forked from gnoirzox/utilisation_gdb.md
Article GDB pour le laboratoire SL3 par Simon ROUGER

Title: Utilisation du débogueur GDB Author: Simon ROUGER Date: 2013-05-09 Tags: gdb, gnu, débogueur, c

Introduction

GDB est un logiciel permettant de débusquer les bogues pouvant apparaitre lors de l'exécution d'un programme. Ce débogueur peut s'exécuter sur la plupart des systèmes de type Unix. Il est également compatible avec un grand nombre de langages tels que C, C++, Java. Il s'exécute aussi sur un ensemble d'architectures système (ARM, X86, X64, MIPS, Power-PC, SPARC, ect.) et est intégré au sein d'un grand nombre d'environnements de développement sous forme d'interface graphique (Code::Blocks, Xcode, Qt Creator ou encore Visual Studio).