[英]Obtaining command line parameters
如何使可执行文件将函数的参数公开为命令行参数? 我知道使用
int main( int argc, char **argv )
有其他选择吗? 是否可以通过脚本语言(例如javascript)调用此程序?
main
功能为可执行文件提供了一个入口点。 因此,答案是否定的,您不能简单地公开一个函数,该函数是从诸如javascript之类的脚本语言调用的。
我知道有可能启用对某些脚本语言(如Python,Ruby,Lua等)的C或C ++库和函数的访问权限。如果要将函数公开给其中任何一种,我建议您使用SWIG , Boost :: Python或luabind 。 我敢肯定,还有很多其他库可以将接口公开给脚本语言,甚至谁也知道JavaScript。
我希望我能正确回答问题:)
这是可能的。 但是,这是非常不明智的建议(并且在可能的情况下也不倾向于成为受支持的功能)。 将本机可执行代码暴露给任何这样的脚本可能会非常非常糟糕地结束。
恐怕这种情况很像为未成年人购买啤酒...我知道您还是会去尝试做,但是我不会成为助长您拖欠债务的人。
(尽管很严重;请不要这样做。研究使用库扩展脚本语言的方法,例如上面推荐的@Constantinius)。
祝好运!
您需要将程序编写为没有main()的DLL(Windows)或.so(UNIX)文件。 从脚本语言中调用它通常需要包装程序代码在脚本语言变量和约定之间转换为C。尽管许多脚本语言都是用C编写的,但如果不进行某种转换,就不能在两者之间直接传递变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.