gpt4 book ai didi

c - 如何编译使用 Lua 5.1 的 C API 的代码?

转载 作者:太空宇宙 更新时间:2023-11-04 02:25:09 27 4
gpt4 key购买 nike

我有代码#include文件 lua.h , lapi.h , lualib.h , 和 lauxlib.h来自Lua的来源。现在我必须实际编译这段代码。

我的第一个想法是包括所有 .c Lua 源代码中的文件或找出其中的哪些 .c我实际需要的文件,但是是否有更好甚至正确的方法来编译使用 Lua 5.1 的 C API 的代码?

我应该补充一点,我是一个完整的编译初学者,我几乎一无所知。我确实知道 GCC 是什么以及如何从命令行运行它,但仅此而已。


更具体地说,我知道我使用 GCC 的编译命令看起来像这样:

gcc code.c

现在,我是否需要像这样在 Lua 源代码中添加每个文件作为参数?

gcc code.c lapi.c lauxlib.c lbaselib.c lcode.c …

或者有更好的方法吗?

最佳答案

使用 Lua API 的代码只是一些碰巧使用 Lua 库的 C 程序。在我的 Linux/Debian 系统上,开发人员的 Lua 库由liblua5.3-dev Debian 软件包。该软件包还包含 pkg-config 的文件

因此,您像往常一样编写 C 程序。可能,您会使用一些 build automation工具。在我的 Debian 系统上,它可能是 make , ninja和许多其他人。选择正确的构建自动化工具是您的选择,也是您的责任。

然后配置构建自动化工具,将相关的预处理器标志传递给 C 编译器,并在链接时传递相关的链接标志。

在我的 Linux 系统上,我会选择使用 make 构建,当然 use the GCC compiler ,然后我会编辑我的 Makefile (参见 this 示例)包含以下内容:

CC= gcc
CFLAGS= -g $(shell pkg-config --cflags lua5.3) -Wall -Wextra
LDFLAGS+= $(shell pkg-config --libes lua5.3)

I do know what GCC is and how to run it from the command line,

您需要确保知道如何实际使用gcc 来编译由几个 组成的程序translation units并使用一些外部库。您还需要了解为什么构建自动化工具如此有用。根据您的背景,您可能需要花数周时间阅读更多相关内容。

我的建议:找一些小的free software程序(例如在 github 上)并研究它应该如何构建(所以学习足够多以了解其构建过程)。你会学到很多东西。查看类似 luakit 的内容

关于c - 如何编译使用 Lua 5.1 的 C API 的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52674554/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com