wjy + cpp   86

Contents — lager 0.0.0 documentation
lager is a C++ library to assist value-oriented design by implementing the unidirectional data-flow architecture. It is heavily inspired by Elm and Redux, and enables composable designs by promoting the use of simple value types and testable application logic via pure functions. And you get time-travel for free!
c++  cpp  library  redux  dataflow 
10 weeks ago by wjy
rr: lightweight recording & deterministic debugging
rr aspires to be your primary C/C++ debugging tool for Linux, replacing — well, enhancing — gdb. You record a failure once, then debug the recording, deterministically, as many times as you want. The same execution is replayed every time.
rr also provides efficient reverse execution under gdb. Set breakpoints and data watchpoints and quickly reverse-execute to where they were hit.
rr works on real applications and is used by many developers to fix real bugs. It makes debugging hard bugs much easier, but also speeds up debugging of easy bugs.
c  mozilla  debugging  tools  linux  cpp  c++ 
november 2018 by wjy
C++ Insights
C++ Insights is a clang-based tool which does a source to source transformation. Its goal is to make things visible which normally, and intentionally, happen behind the scenes. It's about the magic the compiler does for us to make things work. Or looking through the classes of a compiler.

Some time ago I started looking into some new things we got with C++11, C++14 and C++17. Amazing things like lambdas, range-based for-loops and structured bindings. I put it together in a talk. You can find the slides and a video online.

However, all that research and some of my training and teaching got me start thinking how it would be, if we could see with the eyes of the compiler. Sure, there is an AST-dump at least for clang. With tools like Compiler Explorer we can see what code the compiler generates from a C++ source snippet. However, what we see is assembler. Neither the AST nor the Compiler Explorer output is in the language I write code and therefore I'm most familiar with. Plus when teaching students C++ showing an AST and explaining that it is all there, was not quite satisfying for me.

I started to write a clang-based tool able to transform a range-based for-loop into the compiler-internal version. Then, I did the same for structured bindings and lambdas. In the end, I ended up with doing a lot more as initially planned. It shows where operators are invoked, places in which the compiler does some casting. C++ Insights is able to deduce the type behind auto or decltype. The goal is to produce compilable code. However, this is not possible in all places.

Still, there is work to do.

I do not claim to get all the things right. This is just the initial version of C++ Insights I consider good enough to hand it to the public. Also, keep in mind that it is solely based on clang and my understanding of C++ and the AST.

You can see, for example the transformation of a lamda, range-based for-loop or auto. Of course, you can transform any other C++ snippet.

You can find the source of the web front-end on github. The source of C++ Insights will follow soon.
c++  cpp  internals  compilers  online  clang 
may 2018 by wjy
Introduction  |  Google for Education  |  Google Developers
Welcome to Google's C++ Class. This class includes written materials, lecture videos, examples, and exercises to practice C++ coding.
programming  tutorial  c++  google  coding  cpp  learning  resources 
march 2018 by wjy
Superfast Online Java Compiler, Editer and IDE - Codiva.io - Compile and Run Java Online
Compile and Run Code Online
Codiva is an online compiler and IDE for C, C++ and Java.
Online compiler. No installation needed
Starts in less than a second
Compiles as you type
Auto complete makes coding fun
Works even on mobile
Try now! Because it saves you time
programming  ide  online  java  cpp  c++  c  free  cool 
january 2018 by wjy
Node Addons
Welcome! This is a quick guide-sheet to get you started with Node.js C++ addons. It’s meant to be super-easy to skim and copy/paste into your code.
node.js  c++  cpp  book  addon  module  native 
november 2017 by wjy
abseil / abseil.io
Abseil is an open-source collection of C++ library code designed to augment the C++ standard library. The Abseil library code is collected from Google’s own C++ code base, has been extensively tested and used in production, and is the same code we depend on in our daily coding lives.

In some cases, Abseil provides pieces missing from the C++ standard; in others, Abseil provides alternatives to the standard for special needs we’ve found through usage in the Google code base. We denote those cases clearly within the library code we provide you.

Abseil is not meant to be competitor to any standard library code; we’ve just found that many of these utilities serve a purpose within our code base, and we now want to provide those resources to the C++ community as a whole.

For more information about Abseil:
c++  google  library  cpp 
october 2017 by wjy
Lullaby is a collection of C++ libraries designed to help teams develop virtual and augmented reality experiences.
google  library  vr  cpp  c++ 
june 2017 by wjy
Wykobi Computational Geometry Library
Wykobi is a lightweight and simple to use C++ Computational Geometry Library. The library focuses primarily on 2D and 3D based geometric problems, though it does have support for some N-D versions of those same problems. The following contains a more extensive listing of all the available
library  c++  math  graphics  geometry  gamedev  cpp 
march 2017 by wjy
Cling | ROOT a Data analysis Framework
Cling is an interactive C++ interpreter, built on the top of LLVM and Clang libraries. Its advantages over the standard interpreters are that it has command line prompt and uses just-in-time (JIT) compiler for compilation. Many of the developers (e.g. Mono in their project called CSharpRepl (link is external)) of such kind of software applications name them interactive compilers.
One of Cling's main goals is to provide contemporary, high-performance alternative of the current C++ interpreter in the ROOT project - CINT. The backward-compatibility with CINT is major priority during the development.
c++  clang  cpp  compiler  jit  interpreter 
may 2016 by wjy
Cinder is a free and open source library for professional-quality creative coding in C++. Cinder is a C++ library for programming with aesthetic intent - the sort of development often called creative coding. This includes domains like graphics, audio, video, and computational geometry. Cinder is cross-platform, with official support for OS X, Windows, iOS, and WinRT. Cinder is production-proven, powerful enough to be the primary tool for professionals, but still suitable for learning and experimentation.
opensource  library  art  creative  c++  cpp 
april 2016 by wjy
Seastar is an advanced, open-source C++ framework for high-performance server applications on modern hardware. Seastar is used in ScyllaDB, a high-performance NoSQL database compatible with Apache Cassandra. Applications using Seastar can run on Linux or OSv.
opensource  c++  performance  cpp  framework  networking 
march 2016 by wjy
pbhogan/Signals · GitHub
A lightweight "signals and slots" implementation using fast delegates. When GUI programming in C++, delegates and the signals and slots paradigm can vastly simplify your code. It implements the Observer pattern while avoiding all the boilerplate code. I needed a lightweight and efficient implementation that I could just drop into my projects and use without adding weird macros, inheriting from crazy templates or having external dependencies. I wanted something simpler and more efficient than libsigc++, sigslot, and boost.signals. So I was overjoyed when I discovered a very novel and efficient implementation of delegates in C++ and I realized I could make use of these to create a signals and slots implementation that would be very non-intrusive.
c++  cpp  signals  library 
january 2016 by wjy
stb/other_libs.md at master · nothings/stb · GitHub
Public domain single-file libraries usable from C and C++ are in bold. Other libraries are either non-public domain, or two files, or only usable from C++, or all three.
libraries  c  cpp  programming 
january 2016 by wjy
johang/btfs · GitHub
A bittorrent filesystem based on FUSE. C++.
torrents  bittorrent  filesystem  fuse  cpp 
january 2016 by wjy
Gladdy/EasyOpenCL · GitHub
The easiest way to get started with OpenCL!
opencl  gpu  cpp  c++  stl 
august 2015 by wjy
nyanp/tiny-cnn · GitHub
tiny-cnn is a C++11 implementation of deep learning (convolutional neural networks).
deeplearning  cnn  c++11  cpp  neuralnetworks 
june 2015 by wjy
solodon4/Mach7 · GitHub
Pattern-matching library for C++
patternmatching  cpp  c++  library 
may 2015 by wjy
C++ packet sniffing and crafting library
libtins is a high-level, multiplatform C++ network packet sniffing and crafting library. Its main purpose is to provide the C++ developer an easy, efficient, platform and endianess-independent way to create tools which need to send, receive and manipulate network packets. It uses a BSD-2 license and it's hosted at github.
c++  cpp  tcp  library  packet  sniffer  libtins  networking  programming 
april 2015 by wjy
C++ Samples
A repository of modern C++ code samples curated by the community.
c++  cpp  c++11  c++14  code  samples  community  modern 
april 2015 by wjy
Cilk Home Page | CilkPlus
Intel Cilk Plus is an extension to the C and C++ languages to support data and task parallelism.
parallelism  cpp  c++  c  programming  multicore  vactorprocessing 
january 2015 by wjy
matt-42/silicon · GitHub
Silicon is a high performance, middleware oriented C++14 http web framework. It brings to C++ the high expressive power of other web frameworks based on dynamic languages. Note that the framework relies on the @ symbol which is not part of C++14. It is compiled into plain C++ via a preprocessor.
c++  c++14  cpp  webdev  framework  http  performance 
january 2015 by wjy
Bond is an open source, cross-platform framework for working with schematized data. It supports cross-language serialization/deserialization and powerful generic mechanisms for efficiently manipulating data. Bond is broadly used at Microsoft in high scale services.
bond  framework  serialization  microsoft  c#  csharp  c++  cpp  python 
january 2015 by wjy
Data structures and algorithms examples
c++11  c++  cpp  programing  algorithms  datastructure 
december 2014 by wjy
Video++ is a video and image processing library that takes advantage of the C++11 and C++14 standard to ease the writing of fast parallel real-time video and image processing.
video++  vpp  imageprocessing  c++11  c++14  performance  parallel  realtime  video  library  cpp 
november 2014 by wjy
Inline object definitions and declarations for C++11. Json-like C++11 embedded domain specific language
json  c++  cpp  c++11  dsl 
november 2014 by wjy
MathFu: Main Page
MathFu is a C++ math library developed primarily for games focused on simplicity and efficiency. It provides a suite of vector, matrix and quaternion classes to perform basic geometry suitable for game developers. This functionality can be used to construct geometry for graphics libraries like OpenGL or perform calculations for animation or physics systems.
google  library  math  cpp  c++  gamedev  vector  matrix  quaternion  geometry 
november 2014 by wjy
ArrayFire is a high performance software library for parallel computing with an easy-to-use API. Its array based function set makes parallel programming simple. ArrayFire's multiple backends (CUDA, OpenCL and native CPU) make it platform independent and highly portable. A few lines of code in ArrayFire can replace dozens of lines of parallel computing code, saving you valuable time and lowering development costs.
gpu  cuda  programming  opensource  parallel  opencl  parralel  library  performance  c++  cpp 
november 2014 by wjy
LodePNG is a PNG image decoder and encoder, all in one, no dependency or linkage to zlib or libpng required. It's made for C (ISO C90), and has a C++ wrapper with a more convenient interface on top.
png  encoder  decoder  c  cpp  c++ 
november 2014 by wjy
C depot build tool
Build C++ without worrying about Makefiles.
c++  cpp  build  tools  make  makefile  dependency 
november 2014 by wjy
libphonenumber - Google's phone number handling library, powering Android and more - Google Project Hosting
Google's common Java, C++ and Javascript library for parsing, formatting, storing and validating international phone numbers. The Java version is optimized for running on smartphones, and is used by the Android framework since 4.0 (Ice Cream Sandwich).
javascript  java  c++  cpp  library  google  telephone  validation  phonenumber 
november 2014 by wjy
TreeFrog Framework | High-speed C MVC Framework for Web Application
TreeFrog Framework is a high-speed and full-stack C++ framework for developing Web applications. Because the sever-side framework was written in C++/Qt, web applications can run faster than that of scripting language. In application development, it provides an O/R mapping system and template systems on an MVC architecture, aims to achieve high productivity through the policy of convention over configuration.
c++  qt  webdev  framework  cpp  performance  fullstack 
november 2014 by wjy
A binary format analysis tool
binary  tools  analysis  cpp  c++ 
october 2014 by wjy
Cling | ROOT
Cling is an interactive C++ interpreter, built on the top of LLVM and Clang libraries. Its advantages over the standard interpreters are that it has command line prompt and uses just-in-time (JIT) compiler for compilation. Many of the developers (e.g. Mono in their project called CSharpRepl) of such kind of software applications name them interactive compilers. One of Cling's main goals is to provide contemporary, high-performance alternative of the current C++ interpreter in the ROOT project - CINT. The backward-compatibility with CINT is major priority during the development.
llvm  cling  c++  cpp  clang  programming  repl  jit  interpreter 
september 2014 by wjy
Welcome to CPIP — CPIP 0.9.1 documentation
CPIP is a C/C++ pre-processor implemented in Python. Instead of regard pre-processing as a dirty job that just has to be done as quickly as possible CPIP records every detail of preprocessing for inspection.
c  cpp  c++  preprocessor  python 
september 2014 by wjy
Crow is C++ Microframework for Web (inspired by Python Flask)
cpp  webdev  framework  micro 
july 2014 by wjy
Coverity Scan - Static Analysis
Find and fix defects in your C/C++ or Java open source project for free. Test every line of code and potential execution path. The root cause of each defect is clearly explained, making it easy to fix bugs
analysis  static  scanner  code  c  c++  cpp  java  tools  testing 
april 2014 by wjy
A fast preprocessor for C and C++
c  c++  cpp  preprocessor  performance 
march 2014 by wjy
rr: lightweight recording & deterministic debugging
rr records nondeterministic executions and debugs them deterministically rr aspires to be your primary debugging tool, replacing — well, enhancing — gdb. You record a failure once, then debug the recording, deterministically, as many times as you want. Every time the same execution is replayed.
linux  debug  tools  gdb  mozilla  rr  debugger  recording  c++  cpp 
march 2014 by wjy
This is VK/KittenPHP-DB-Engine project, consisting of efficient PHP-to-C++ translator called "KPHP" or "KittenPHP", and several auxiliary high-performance "engines" (specialized non-relational databases), needed for its deployment.
php  kphp  cpp  c++  compiler  performance 
march 2014 by wjy
Cinder | The library for professional-quality creative coding in C
CINDER PROVIDES A POWERFUL, INTUITIVE TOOLBOX for programming graphics, audio, video, networking, image processing and computational geometry. Cinder is cross-platform, and in general the exact same code works under Mac OS X, Windows and a growing list of other platforms — most recently the iPhone and iPad. Cinder is designed to take advantage of platforms’ native capabilities whenever it’s possible, and relies on a minimum of 3rd party libraries. This makes for much lighter, faster applications, and means Cinder apps get free performance, security and capability upgrades whenever the operating system does.
programming  cinder  c++  cpp  creative  graphics  visual  audio 
march 2014 by wjy
openFrameworks is an open source C++ toolkit designed to assist the creative process by providing a simple and intuitive framework for experimentation. The toolkit is designed to work as a general purpose glue, and wraps together several commonly used libraries, including: OpenGL, GLEW, GLUT, libtess2 and cairo for graphics rtAudio, PortAudio, OpenAL and Kiss FFT or FMOD for audio input, output and analysis FreeType for fonts FreeImage for image saving and loading Quicktime, GStreamer and videoInput for video playback and grabbing Poco for a variety of utilities OpenCV for computer vision Assimp for 3D model loading
c++  cpp  openframeworks  visualization  tools  graphics  opencv  audio  fonts  opengl  3d 
march 2014 by wjy
C++ Frequently Questioned Answers
This is C++ FQA Lite. C++ is a general-purpose programming language, not necessarily suitable for your special purpose. FQA stands for "frequently questioned answers".
c++  cpp  programming  fqa  reference  questions 
february 2014 by wjy
Annoy (Approximate Nearest Neighbors Something Something) is a C++ library with Python bindings to search for points in space that are close to a given query point. It also creates large read-only file-based data structures that are mmapped into memory so that many processes may share the same data.
clustering  python  cpp  spotify  library  opensource 
february 2014 by wjy
Hackinsight.org - Articles: C For Hackers - News
Even if you've never programmed before or if you have extensive experience programming in other languages and want to expand into C++! It is for everyone who wants the feeling of accomplishment from a working program.
books  free  cpp  c++  tutorial  book 
october 2013 by wjy
cityhash - The CityHash family of hash functions - Google Project Hosting
CityHash provides hash functions for strings. The latest stable version is cityhash-1.1.0.tar.gz. Differences between versions are explained in the NEWS file.
cityhash  google  library  lib  cpp  hash 
november 2012 by wjy
FastLZ - lightning-fast compression library
free, open-source, portable real-time compression library
opensource  zip  cpp  fast  fastlz  library  compression 
july 2012 by wjy
facebook, cpp, c++, library, opensource,
cpp  library  Facebook  C++ 
june 2012 by wjy
« earlier      
per page:    204080120160

related tags

!awesome  3d  addon  algorithms  analysis  art  article  asm  async  audio  awesome  b-tree  binary  bittorrent  bond  book  books  build  c  c#  c++  c++0x  c++11  c++14  cinder  cityhash  clang  cling  clustering  cnn  code  codestyle  coding  community  compiler  compilers  complexity  compression  concurrency  cool  cp  cpp  creative  csharp  css  ctemplate  cuda  dataflow  datastructure  debug  debugger  debugging  decoder  deeplearning  demo  dependency  destruction  development  dsl  duetto  emacs  emscripten  emulator  encoder  encryption  facebook  faq  fast  fastlz  filesystem  fonts  fp  fqa  framework  free  fullstack  functional  fuse  gamedev  gcc  gdb  geometry  google  gpu  graphics  guide  hackernews  hash  hn  http  ide  imageprocessing  internals  interpreter  iso  java  javascript  jit  js  json  kphp  languages  learning  lib  libraries  library  libtins  linker  lint  linux  llvm  lockfree  macro  make  makefile  math  matrix  memory  micro  microsoft  mmo  modern  module  mozilla  multicore  myth  myths  nacl  nan  native  networking  neuralnetworks  node  node.js  nodejs  objc  objective-c  ocr  online  open-source  opencl  opencv  openframeworks  opengl  opensource  overflow  packet  parallel  parallelism  parralel  patternmatching  performance  phonenumber  php  playstation  png  preprocessor  programing  programming  ps3  python  qt  quaternion  questions  queue  r  realtime  recording  redux  reference  repl  resources  robots.txt  rr  samples  scanner  searchengine  serialization  server  signals  slides  sniffer  spotify  static  stl  tcp  telephone  template  templates  testing  tool  tools  torrents  tutorial  vactorprocessing  validation  vector  video  video++  visual  visualization  vpp  vptr  vptrs  vr  webdev  wow  xml  zip 

Copy this bookmark: