Enviar pesquisa
Carregar
Lua by Ong Hean Kuan
•
Transferir como ODP, PDF
•
5 gostaram
•
1,297 visualizações
F
fossmy
Seguir
Presented at the MyOSS March 2009 Meetup
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 23
Baixar agora
Recomendados
Python programming Workshop SITTTR - Kalamassery
Python programming Workshop SITTTR - Kalamassery
SHAMJITH KM
Python basic
Python basic
Saifuddin Kaijar
Python ppt
Python ppt
Anush verma
Introduction to Python Programming | InsideAIML
Introduction to Python Programming | InsideAIML
VijaySharma802
Python Workshop - Learn Python the Hard Way
Python Workshop - Learn Python the Hard Way
Utkarsh Sengar
Ch8a
Ch8a
kinnarshah8888
Python Basics
Python Basics
Adheetha O. V
Python ppt
Python ppt
Rohit Verma
Recomendados
Python programming Workshop SITTTR - Kalamassery
Python programming Workshop SITTTR - Kalamassery
SHAMJITH KM
Python basic
Python basic
Saifuddin Kaijar
Python ppt
Python ppt
Anush verma
Introduction to Python Programming | InsideAIML
Introduction to Python Programming | InsideAIML
VijaySharma802
Python Workshop - Learn Python the Hard Way
Python Workshop - Learn Python the Hard Way
Utkarsh Sengar
Ch8a
Ch8a
kinnarshah8888
Python Basics
Python Basics
Adheetha O. V
Python ppt
Python ppt
Rohit Verma
Shell programming 2
Shell programming 2
Gourav Varma
Shell programming 2
Shell programming 2
Kalkey
Rust Intro
Rust Intro
Arthur Gavkaluk
Introduction to Python Programming
Introduction to Python Programming
VijaySharma802
Basic Python Programming: Part 01 and Part 02
Basic Python Programming: Part 01 and Part 02
Fariz Darari
Symbolic mathematics
Symbolic mathematics
FranklinChibuike1
Python Basics
Python Basics
Pooja B S
python.ppt
python.ppt
shreyas_test_1234
Python in 30 minutes!
Python in 30 minutes!
Fariz Darari
Python basics
Python basics
NexThoughts Technologies
Python programing
Python programing
hamzagame
C Programming Homework Help
C Programming Homework Help
Programming Homework Help
Introduction to Python - Part Two
Introduction to Python - Part Two
amiable_indian
Introduction to Python
Introduction to Python
C. ASWINI
Introduction to Python - Training for Kids
Introduction to Python - Training for Kids
Aimee Maree Forsstrom
Chapter 1 Basic Programming (Python Programming Lecture)
Chapter 1 Basic Programming (Python Programming Lecture)
IoT Code Lab
PPT on Data Science Using Python
PPT on Data Science Using Python
NishantKumar1179
An Intro to Python in 30 minutes
An Intro to Python in 30 minutes
Sumit Raj
Python advance
Python advance
Deepak Chandella
E6
E6
lksoo
High Level Application Scripting With EFL and LuaJIT
High Level Application Scripting With EFL and LuaJIT
Samsung Open Source Group
igdshare 110220: LuaJIT intro
igdshare 110220: LuaJIT intro
igdshare
Mais conteúdo relacionado
Mais procurados
Shell programming 2
Shell programming 2
Gourav Varma
Shell programming 2
Shell programming 2
Kalkey
Rust Intro
Rust Intro
Arthur Gavkaluk
Introduction to Python Programming
Introduction to Python Programming
VijaySharma802
Basic Python Programming: Part 01 and Part 02
Basic Python Programming: Part 01 and Part 02
Fariz Darari
Symbolic mathematics
Symbolic mathematics
FranklinChibuike1
Python Basics
Python Basics
Pooja B S
python.ppt
python.ppt
shreyas_test_1234
Python in 30 minutes!
Python in 30 minutes!
Fariz Darari
Python basics
Python basics
NexThoughts Technologies
Python programing
Python programing
hamzagame
C Programming Homework Help
C Programming Homework Help
Programming Homework Help
Introduction to Python - Part Two
Introduction to Python - Part Two
amiable_indian
Introduction to Python
Introduction to Python
C. ASWINI
Introduction to Python - Training for Kids
Introduction to Python - Training for Kids
Aimee Maree Forsstrom
Chapter 1 Basic Programming (Python Programming Lecture)
Chapter 1 Basic Programming (Python Programming Lecture)
IoT Code Lab
PPT on Data Science Using Python
PPT on Data Science Using Python
NishantKumar1179
An Intro to Python in 30 minutes
An Intro to Python in 30 minutes
Sumit Raj
Python advance
Python advance
Deepak Chandella
E6
E6
lksoo
Mais procurados
(20)
Shell programming 2
Shell programming 2
Shell programming 2
Shell programming 2
Rust Intro
Rust Intro
Introduction to Python Programming
Introduction to Python Programming
Basic Python Programming: Part 01 and Part 02
Basic Python Programming: Part 01 and Part 02
Symbolic mathematics
Symbolic mathematics
Python Basics
Python Basics
python.ppt
python.ppt
Python in 30 minutes!
Python in 30 minutes!
Python basics
Python basics
Python programing
Python programing
C Programming Homework Help
C Programming Homework Help
Introduction to Python - Part Two
Introduction to Python - Part Two
Introduction to Python
Introduction to Python
Introduction to Python - Training for Kids
Introduction to Python - Training for Kids
Chapter 1 Basic Programming (Python Programming Lecture)
Chapter 1 Basic Programming (Python Programming Lecture)
PPT on Data Science Using Python
PPT on Data Science Using Python
An Intro to Python in 30 minutes
An Intro to Python in 30 minutes
Python advance
Python advance
E6
E6
Destaque
High Level Application Scripting With EFL and LuaJIT
High Level Application Scripting With EFL and LuaJIT
Samsung Open Source Group
igdshare 110220: LuaJIT intro
igdshare 110220: LuaJIT intro
igdshare
What's New in LuaRocks - Lua Workshop 2014 - Hisham Muhammad
What's New in LuaRocks - Lua Workshop 2014 - Hisham Muhammad
Hisham Muhammad
Api Design Anti-Patterns
Api Design Anti-Patterns
Jason Harmon
Hands on lua
Hands on lua
Javier Arauz
Roll Your Own API Management Platform with nginx and Lua
Roll Your Own API Management Platform with nginx and Lua
Jon Moore
Accounting concepts conventions & principles
Accounting concepts conventions & principles
Jatin Pancholi
Destaque
(7)
High Level Application Scripting With EFL and LuaJIT
High Level Application Scripting With EFL and LuaJIT
igdshare 110220: LuaJIT intro
igdshare 110220: LuaJIT intro
What's New in LuaRocks - Lua Workshop 2014 - Hisham Muhammad
What's New in LuaRocks - Lua Workshop 2014 - Hisham Muhammad
Api Design Anti-Patterns
Api Design Anti-Patterns
Hands on lua
Hands on lua
Roll Your Own API Management Platform with nginx and Lua
Roll Your Own API Management Platform with nginx and Lua
Accounting concepts conventions & principles
Accounting concepts conventions & principles
Semelhante a Lua by Ong Hean Kuan
Programming Under Linux In Python
Programming Under Linux In Python
Marwan Osman
Implementing Virtual Machines in Ruby & C
Implementing Virtual Machines in Ruby & C
Eleanor McHugh
Python
Python
Gagandeep Nanda
Python slide
Python slide
Kiattisak Anoochitarom
C
C
arunsahoo90
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
DRVaibhavmeshram1
Use of Lua in Lab Devices
Use of Lua in Lab Devices
Claus Kühnel
Implementing Virtual Machines in Go & C
Implementing Virtual Machines in Go & C
Eleanor McHugh
Introduction to python
Introduction to python
baabtra.com - No. 1 supplier of quality freshers
lecture 2.pptx
lecture 2.pptx
Anonymous9etQKwW
C to perl binding
C to perl binding
Shmuel Fomberg
Python quickstart for programmers: Python Kung Fu
Python quickstart for programmers: Python Kung Fu
climatewarrior
So I am writing a CS code for a project and I keep getting cannot .pdf
So I am writing a CS code for a project and I keep getting cannot .pdf
ezonesolutions
Programming in C by SONU KUMAR.pptx
Programming in C by SONU KUMAR.pptx
SONU KUMAR
Hands on Session on Python
Hands on Session on Python
Sumit Raj
C programming
C programming
Shahariar limon
C tutorial
C tutorial
tuncay123
C tutorial
C tutorial
Khan Rahimeen
C tutorial
C tutorial
Anuja Lad
GDSC Flutter Forward Workshop.pptx
GDSC Flutter Forward Workshop.pptx
GDSCVJTI
Semelhante a Lua by Ong Hean Kuan
(20)
Programming Under Linux In Python
Programming Under Linux In Python
Implementing Virtual Machines in Ruby & C
Implementing Virtual Machines in Ruby & C
Python
Python
Python slide
Python slide
C
C
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
Use of Lua in Lab Devices
Use of Lua in Lab Devices
Implementing Virtual Machines in Go & C
Implementing Virtual Machines in Go & C
Introduction to python
Introduction to python
lecture 2.pptx
lecture 2.pptx
C to perl binding
C to perl binding
Python quickstart for programmers: Python Kung Fu
Python quickstart for programmers: Python Kung Fu
So I am writing a CS code for a project and I keep getting cannot .pdf
So I am writing a CS code for a project and I keep getting cannot .pdf
Programming in C by SONU KUMAR.pptx
Programming in C by SONU KUMAR.pptx
Hands on Session on Python
Hands on Session on Python
C programming
C programming
C tutorial
C tutorial
C tutorial
C tutorial
C tutorial
C tutorial
GDSC Flutter Forward Workshop.pptx
GDSC Flutter Forward Workshop.pptx
Último
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
gvaughan
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
BookNet Canada
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
LoriGlavin3
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
Alan Dix
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
LoriGlavin3
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
LoriGlavin3
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Precisely
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
Curtis Poe
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
Sergiu Bodiu
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
MounikaPolabathina
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Mark Simos
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
Fwdays
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
Rizwan Syed
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
DianaGray10
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
BookNet Canada
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
Raghuram Pandurangan
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
Mattias Andersson
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
Pixlogix Infotech
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
ScyllaDB
How to write a Business Continuity Plan
How to write a Business Continuity Plan
Databarracks
Último
(20)
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
How to write a Business Continuity Plan
How to write a Business Continuity Plan
Lua by Ong Hean Kuan
1.
Extending C/C++ with
Lua 5.1 Ong Hean Kuan Unified Communications Email: mysurface@gmail.com
2.
3.
4.
5.
6.
Fast and Lightweight?
7.
8.
Performance ~ Benchmarking
2
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Simple c++ calling
lua script extern "C" { #include "lua.h" #include "lualib.h" #include "lauxlib.h" } int main() { int s=0; lua_State *L = lua_open(); // load the libs luaL_openlibs(L); //run a Lua scrip here luaL_dofile(L,"foo.lua"); printf("I am done with Lua in C++."); lua_close(L); return 0; } -- foo.lua io.write(“Happy Hacking with Lua”) g++ -o simple{,.cc} -llua -ldl
19.
Accessing Lua global
variables int width=0,height=0; lua_State *L = lua_open(); luaL_openlibs(L); if (luaL_loadfile(L, "config.lua") || lua_pcall(L, 0, 0, 0)) printf("error: %s", lua_tostring(L, -1)); lua_getglobal(L, "width"); lua_getglobal(L, "height"); if (!lua_isnumber(L, -2)) { printf ("`width' should be a number"); return -1; } if (!lua_isnumber(L, -1)) { printf("`height' should be a number"); return -1; } width = (int)lua_tonumber(L, -2); height = (int)lua_tonumber(L, -1); printf("width: %dheight: %d", width, height); lua_close(L); return 0; -- config.lua width = 10 height = 5
20.
Calling c from
Lua int L_MSleep(lua_State* l) { int milisec=0; struct timespec req={0}; time_t sec; milisec=luaL_optint(l,1,0); if (milisec==0) return 0; sec=(int)(milisec/1000); milisec=milisec-(sec*1000); req.tv_sec=sec; req.tv_nsec=milisec*1000000L; while(nanosleep(&req,&req)==-1) continue; return 1; } int main() { const static struct luaL_reg misc [] = { {"msleep", &L_MSleep}, {NULL,NULL} //must! }; lua_State *L = lua_open(); luaL_openlibs(L); //open your lib luaL_openlib(L, "misc", misc, 0); if (luaL_loadfile(L, "callc.lua") || lua_pcall(L, 0, 0, 0)) printf("error: %s", lua_tostring(L, -1)); lua_close(L); return 0; } -- callc.lua for i=1,9,1 do io.write(string.format("[%d] Hello",i)) misc.msleep(1000) -- sleep 1 sec end
21.
Calling Lua from
c int main() { double z; lua_State *L = lua_open(); luaL_openlibs(L); if (luaL_loadfile(L, "last.lua") || lua_pcall(L, 0, 0, 0)) { printf("error: %s", lua_tostring(L, -1)); return -1; } lua_getglobal(L, "f"); lua_pushnumber(L, 2); /* push 1st argument */ lua_pushnumber(L, 3); /* push 2nd argument */ /* do the call (2 arguments, 1 result) */ if (lua_pcall(L, 2, 1, 0) != 0) { printf("error running function `f': %s",lua_tostring(L, -1)); return -1; } /* retrieve result */ if (!lua_isnumber(L, -1)) { printf("function `f' must return a number"); return -1; } z = lua_tonumber(L, -1); printf("Result: %f",z); lua_pop(L, 1); lua_close(L); return 0; } -- last.lua function f (x, y) return (x^2 * math.sin(y))/(1 - x) end
22.
23.
Thank you ;)
Baixar agora