AngelCode.com > Reference Database

Languages/C & C++/Calling conventions

.NET  7
Artificial Intelligence  7
  Group behavior  2
  Path finding  16
    A* and its derivatives  6
  Pattern recognition  1
  Steering behavior  2
  World interaction  4
Audio  0
  DirectX  8
  DSP  5
  Ogg Vorbis  2
  OpenAL  1
  Windows  1
Computer Science  2
  Algorithms & data structures  12
    BSP trees  8
  Encryption  12
  Randomness & noise  11
Data storage  4
  File formats  14
    Image  10
  Resource files  2
Game Development  20
  Cheat & crack prevention  10
  Input  3
  Timing  4
Graphics  27
  Character animation  6
  DirectX  24
    Optimizing  8
  Illumination  5
    Deferred lighting  7
    Global illumination  8
    Lighting models  6
    Screen Space Ambient Occlusion  4
    Shadow maps  18
    Shadow volumes  15
  Image processing & synthesizing  19
  Non-polygonal rendering  3
    Ray tracing  3
  OpenGL  12
  Particle systems  7
  Shaders  32
  Simulation  4
    Cloth  2
    Clouds & sky light  7
    Fire & smoke  4
    Liquids  12
  Surfaces & Meshes  8
    Implicit surfaces  6
    Parametric curves & surfaces  7
    Polygon reduction & LOD  3
    Subdivision surfaces  7
  Terrain  7
    Continuous LOD  12
    Generating data  4
    Voxel engines  2
  Text  6
  Transparency  1
  Visibility determination  16
Languages  5
  Assembler  20
  C & C++  26
    C++ exceptions  5
    Calling conventions  12
    Debugging  5
    Memory management  7
    Optimizations  6
  C#  4
  Creating your own language  13
    Garbage collection  7
  D  2
  Java  4
  Scripting  3
    JScript & VBScript  1
    Lua  6
    Other languages  8
    Perl  2
    Python  5
    Ruby  4
Mathematics  3
  Fourier transform  4
  Geometry  6
  Linear algebra, vectors & matrices  9
  Wavelet transform  5
Object design  3
Physics  5
  Body dynamics  8
  Collision detection  10
    Polytopes  6
Platform  2
  Linux  1
  Mac  2
  Windows  13
    COM, ATL & WTL  8
    Dynamically loaded libraries  6
    Hooks  5
    Input  2
    Networking  6
    Screensavers  3
    Services  1
    Shell  2
    Small executables  3
    Windows  8
Web Technologies  8

PC Assembly Language
Paul Carter
This is a very good tutorial about 32 bit protected mode assembly, using NASM. It includes not only how to program in assembler but also how to interact with C/C++ programs.

Calling conventions on the x86 platform
Aug, 2004 - Andreas Jönsson
This article shows how MSVC++ and MinGW g++ implements the different calling conventions. Especially interesting for those who write assembly routines that interact with C++.

x64 Software Conventions
Explains calling conventions on AMD 64bit processors as implemented by MSVC.

x64 ABI vs. x86 ABI (aka Calling Conventions for AMD64 & EM64T)

Thunking in Win32: Simplifying callbacks to non-static member functions
Dec, 2006 - Einar Otto Stangvik
Shows how to build a thunk that allows you to pass a class member pointer to a callback that expects a global function pointer. The code is highly platform dependent though.

Mac OS X ABI Function Call Guide
Nov, 2006 - Apple
This is the official guide to the Mac OS X ABI. It covers both 32bit and 64bit PowerPC, as well as 32bit IA-32 (x86).

DynCall library
Daniel Adler, Tassilo Philipp
This library implements support for dynamically calling C/C++ functions and methods, by pushing arguments on a virtual stack and then invoking the function. It is similar to how AngelScript internally calls C/C++ functions and methods.

System V Application Binary Interface, AMD64 Architecture Processor Supplement
Sep, 2010 - Michael Matz, Jan Hubicka, Andreas Jaeger, Mark Mitchell
This document gives detailed specification for the AMD64 ABI commonly used by the gnuc compiler on platforms like Linux and Mac OS X.

Calling conventions for different C++ compilers and operating systems
Jun, 2011 - Agner Fog
This document explains how calling conventions is implement on different compilers and platforms. It also describes the algorithm used for the name mangling.

The Component Object Model
Mar, 2002
This article gives a good overview on COM and its specification.

iOS ABI Function Call Guide
This article describes the ABI used by Apple for iOS on all different CPUs that iOS is available for, including ARMv6, ARMv7, and ARM64.

libffi
A Portable Foreign Function Interface Library