Book Image

Integrate Lua with C++

By : Wenhuan Li
Book Image

Integrate Lua with C++

By: Wenhuan Li

Overview of this book

C++ is a popular choice in the developer community for building complex and large-scale performant applications and systems. Often a need arises to extend the system at runtime, without recompiling the whole C++ program. Using a scripting language like Lua can help achieve this goal efficiently. Integrate Lua to C++ is a comprehensive guide to integrating Lua to C++ and will enable you to achieve the goal of extending C++ programs at runtime. You’ll learn, in sequence, how to get and compile the Lua library, the Lua programming language, calling Lua code from C++, and calling C++ code from Lua. In each topic, you’ll practice with code examples, and learn the in-depth mechanisms for smooth working. Throughout the book, the latter examples build on the earlier ones while also acting as a standalone. You’ll learn to implement Lua executor and Lua binding generator, which you can use in your projects directly with further customizations. By the end of this book, you’ll have mastered integrating Lua into C++ and using Lua in your C++ project efficiently, gained the skills to extend your applications at runtime, and achieved dynamic and adaptable C++ development.
Table of Contents (18 chapters)
Free Chapter
1
Part 1 – Lua Basics
4
Part 2 – Calling Lua from C++
8
Part 3 – Calling C++ from Lua
12
Part 4 – Advanced Topics

Index

As this ebook edition doesn't have fixed pagination, the page numbers below are hyperlinked for reference only, based on the printed edition of this book.

A

argument types

supporting 61

arithmetic operator 19, 20

B

boolean type 19

Builder pattern 132

C

C++ 142

calling, from Lua 93, 150

filename extensions 36

Lua, calling from 150

Lua coroutine, using with 181-183

Lua types 56

Lua types, implementing 57-59

multithreading 171, 172

supporting, multithreading 172

C++20 67

C++ callable 60

C++ class instance

accessing 106

upvalues, accessing 108

upvalues, providing 107

C++ code

Lua library, including 36

C++ function

implementing 66, 67

C++ functions

declaring, for Lua 94

implementing, for Lua 94, 95

registering 94

registering, to Lua 95

testing 95, 96

C++ modules

C++ class, exporting to Lua 102, 103

C++ class, implementing 100, 101

C++ class instance...