Lua Embedding Training Course

Primary tabs

Course Language

This course is delivered in Polish or English.

Course Code

luaemb

Duration Duration

14 hours (usually 2 days including breaks)

Requirements Requirements

A good understanding of the basics of the Lua programming language

Overview Overview

This Lua course teaches how to interact with Lua from C (and/or other programming languages).

We discuss integration in both directions: how to embed C code in Lua (eg. for performance gains), and how to make a C/C++/Java program extensible with Lua.

As an in-class exercise we create a small program that is extensible with Lua.

The course also tackles the Lua virtual machine and teaches how to understand the bytecode underpinning the language.

This course can serve an add-on to the Lua Fundamentals or Lua Advanced courses in which case a shorter (1 day) version can be organized.

Course Outline Course Outline

Compilation

  • Compilation
  • Eval
  • Relationship with the environment
  • Binary chunks

Garbage collection

  • Weak tables
  • Finalizers, the __gc meta-method

Lua bytecode and virtual machine

  • Generating bytecode from source code
  • Reading and analyzing bytecode
  • Quick tour of the source code of the Lua VM

C modules

  • Calling C from Lua
  • Search path and loading of C modules

Calling Lua from C

  • The Stack
  • Error handling
  • Continuations

Handling Lua values and types from C

  • Arrays
  • Strings
  • Userdata
  • Metatables
  • Object oriented calls
  • Light userdata

Memory management

  • Allocators
  • GC API

Threads in Lua

  • Co-routines vs threads
  • Real multi-threading and Lua states

Guaranteed to run even with a single delegate!
Public Classroom Public Classroom
Participants from multiple organisations. Topics usually cannot be customised
From 3097PLN
(86)
Private Classroom Private Classroom
Participants are from one organisation only. No external participants are allowed. Usually customised to a specific group, course topics are agreed between the client and the trainer.
From 3097PLN
Request quote
Private Remote Private Remote
The instructor and the participants are in two different physical locations and communicate via the Internet
From 8900PLN
Request quote
SelfStudy SelfStudy
Self-study courses allow you to learn at your own pace on your own time. There is no live instructor involved. The participants use recorded video, quizzes and reading at their own convenience.
Price not set yet
Register Interest

The more delegates, the greater the savings per delegate. Table reflects price per delegate and is used for illustration purposes only, actual prices may differ.

Number of Delegates Public Classroom Private Classroom Private Remote
1 3097PLN 3097PLN 8900PLN
2 2899PLN 2799PLN 5700PLN
3 2832PLN 2699PLN 4633PLN
4 2799PLN 2649PLN 4100PLN
Cannot find a suitable date? Choose Your Course Date >>
Too expensive? Suggest your price

Related Categories


Course Discounts

Course Venue Course Date Course Price [Remote/Classroom]
SQL Fundamentals Warszawa, ul. Złota 3/11 Wed, 2016-06-01 09:00 1358PLN / 853PLN
MS Excel - poziom średniozaawansowany Łódź, ul. Tatrzańska 11 Wed, 2016-06-01 09:00 1044PLN / 840PLN
SQL language in MSSQL Toruń, ul. Żeglarska 10/14 Wed, 2016-06-01 09:00 1568PLN / 1198PLN
Bezpieczeństwo aplikacji internetowych Katowice Wed, 2016-06-01 09:30 3606PLN / 2531PLN
Test Automation with Selenium Kraków Mon, 2016-06-06 09:00 3200PLN / 2433PLN
Test Automation with Selenium Katowice Tue, 2016-06-07 09:30 3431PLN / 2469PLN
MS Excel - poziom średniozaawansowany Katowice Wed, 2016-06-08 09:00 700PLN / 771PLN
Programming in C++ Olsztyn, ul. Kajki 3/1 Mon, 2016-06-13 09:00 2936PLN / 2395PLN
Container management with Docker Trójmiasto Tue, 2016-06-14 09:00 4360PLN / 2774PLN
Excel Advanced Katowice Mon, 2016-06-20 09:00 775PLN / 933PLN
Test Automation with Selenium Warszawa, ul. Złota 3/11 Mon, 2016-06-20 09:00 3431PLN / 2327PLN
PostgreSQL Administration and Development Lublin Mon, 2016-06-20 09:30 4025PLN / 3134PLN
Introduction to R Warszawa, ul. Złota 3/11 Tue, 2016-06-21 09:00 3058PLN / 2123PLN
Creating and managing Web sites Wrocław, ul.Ludwika Rydygiera 2a/22 Mon, 2016-06-27 09:00 3410PLN / 2555PLN
Programming in C Gdynia Mon, 2016-06-27 09:00 1590PLN / 1143PLN
Distributed Messaging with Apache Kafka Katowice Mon, 2016-06-27 09:30 4998PLN / 3288PLN
Design Patterns in C# Wrocław, ul.Ludwika Rydygiera 2a/22 Wed, 2016-06-29 09:00 1865PLN / 1392PLN
Visual Basic for Applications (VBA) for Analysts Poznan, Garbary Mon, 2016-07-04 09:00 1912PLN / 1278PLN
Debian Administration Poznan, Garbary Mon, 2016-07-04 09:00 3157PLN / 2083PLN
A Practical Guide to Successful Pricing Strategies Poznan, Garbary Wed, 2016-07-06 09:00 1427PLN / 1093PLN
Excel and VBA Programming for Audit and Finance Professionals Warszawa, ul. Złota 3/11 Mon, 2016-07-11 09:00 1913PLN / 1441PLN
Machine Learning Fundamentals with R Warszawa, ul. Złota 3/11 Mon, 2016-07-18 09:00 2523PLN / 1828PLN
Building Web Apps using the MEAN stack Szczecin Mon, 2016-07-18 09:00 5538PLN / 3351PLN
Microsoft Access - download the data Poznan, Garbary Wed, 2016-07-20 09:00 1117PLN / 856PLN
Python Programming Warszawa, ul. Złota 3/11 Mon, 2016-08-01 09:00 5790PLN / 3753PLN
Programming in WPF 4.5 Warszawa, ul. Złota 3/11 Mon, 2016-09-05 09:00 2359PLN / 1355PLN
BPMN 2.0 for Business Analysts Wrocław, ul.Ludwika Rydygiera 2a/22 Tue, 2016-09-27 09:00 3110PLN / 2337PLN

Upcoming Courses

VenueCourse DateCourse Price [Remote/Classroom]
Zielona Góra, ul. Reja 6Tue, 2016-06-14 09:004100PLN / 2711PLN
Poznan, GarbaryWed, 2016-06-15 09:004100PLN / 2682PLN
OpoleWed, 2016-06-15 09:004100PLN / 2843PLN
Wrocław, ul.Ludwika Rydygiera 2a/22Thu, 2016-06-16 09:004100PLN / 2682PLN
Bydgoszcz, ul. Dworcowa 94Thu, 2016-06-16 09:004100PLN / 2719PLN

Some of our clients