Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lua 获取Premake 5中定义为标记或字符串的#定义列表_Lua_Nasm_Premake - Fatal编程技术网

Lua 获取Premake 5中定义为标记或字符串的#定义列表

Lua 获取Premake 5中定义为标记或字符串的#定义列表,lua,nasm,premake,Lua,Nasm,Premake,我使用自定义构建命令在C++项目中运行NASM汇编程序。我在汇编代码中使用了%idefs来只编译我需要的代码。我正在检查与C++代码中相同的#defines,并在Premake 5中使用define()来设置它们,但另外,我需要在自定义构建命令的命令行调用中将它们传递给nasm。我正在寻找的是一种将Premake内部的#defines列表连接或字符串替换到buildcommands()调用的命令行调用字符串中的方法。是否有一个Premake或一种方法来内省lua变量并从中生成一个列表 请注意,我

我使用自定义构建命令在C++项目中运行NASM汇编程序。我在汇编代码中使用了
%idef
s来只编译我需要的代码。我正在检查与C++代码中相同的
#define
s,并在Premake 5中使用
define()
来设置它们,但另外,我需要在自定义构建命令的命令行调用中将它们传递给nasm。我正在寻找的是一种将Premake内部的
#define
s列表连接或字符串替换到
buildcommands()
调用的命令行调用字符串中的方法。是否有一个Premake或一种方法来内省lua变量并从中生成一个列表

请注意,我的命令行调用特别是

buildcommands“nasm.exe-f win32-o%{cfg.objdir}%{file.basename}.lib%{file.abspath}-DNDEBUG”
假设我在我的
premake5.lua
中设置
定义{“专长A”,“专长B”}
。然后我想将
-DFEAT\u A-DFEAT\u B
自动添加到构建命令中,类似于
-DNDEBUG
,因此我不能简单地插入一个简单的令牌。我想我必须这样做(lua伪代码,因为我不太懂语法):

define\u flags=wks.define.join(“-D”)
buildcoommands(“nasm.exe[…]”。定义_标志)

你知道这样的事情是否可能发生吗

像这样的怎么样

buildcommands('nasm.exe [...] %{table.implode(cfg.defines, "-D", "", " ")} [...]')