有什么方法可以使可执行文件将函数的参数公开为命令行参数。 我知道使用
int main( int argc, char **argv )
有替代品吗?是否可以从脚本语言(如javascript?
)调用此程序答案 0 :(得分:1)
main
函数提供了可执行文件的入口点。所以答案是否定的,你不能简单地公开一个函数,它是从像javascript这样的脚本语言中调用的。
我知道有可能为某些脚本语言(如Python,Ruby,Lua等)启用对C或C ++库和函数的访问。如果要将函数公开给其中任何一个,我可以建议SWIG, Boost::Python或luabind。我确信有很多其他库可以公开脚本语言的接口,谁知道,甚至是javascript。
我希望我的问题是正确的:)
答案 1 :(得分:0)
这是可能的。但是,它是非常不明智的(并且在可能时并不倾向于支持的功能)。将本机可执行代码暴露给任何这样的脚本可能会非常非常糟糕。
我担心这种情况非常像为未成年人购买啤酒......我知道你会去尝试去做,但我不会成为那个为你做贡献的人拖欠。
(严重的是;不要这样做。想办法用库来扩展你的脚本语言,比如上面推荐的@Constantinius)。
祝你好运!答案 2 :(得分:0)
您需要将程序编写为DLL(Windows)或.so(UNIX)文件,该文件没有main()。要从脚本语言中调用它通常需要使用包装器代码在脚本语言变量和约定之间进行转换。尽管许多脚本语言都是用C语言编写的,但是如果没有某种转换,则不能直接在两者之间传递变量。