我有一个退出的大c ++程序,我希望有一个函数可以在文本文件中编辑,以改变我的c ++程序的行为,而无需再次编译它。
为了达到这个目的,我想我可以在我的c ++程序中嵌入一个脚本。
我的函数应该使用两个c ++对象并返回一个与两个对象及其成员相关的布尔值。 伪代码类似于以下内容:
//In c++ program
CppObject cpp1, cpp2;
ScSriptObject o1 = transform(cpp1);
ScriptObject o2 = transform(cpp2);
boolean result = call function(o1, o2);
//Script function in text file
boolean function(Object o1, Object o2)
{
return do_something(o1, o2)
}
我想知道是否还有其他更好的解决方案。使用哪种脚本语言可以轻松完成,如何完成?
我已经看过python和Python / C API,但是我有一些麻烦让基本的例子工作,我想知道是否有更简单的选项。
感谢您的帮助:)
答案 0 :(得分:-1)
如果您正在使用Linux,则可以使用system
函数调用外部脚本,您可以在决定时编辑该脚本,而无需再次编译。例如:
int res = system("/usr/local/bin/myscript.sh");
if (res == 0)
{
// exited normally
}
else
{
// abnormal exit
}
在Windows上,您可以使用类似的方法,就像独立于平台的系统一样。还有一件事,请记住结果的结尾! 有关系统的进一步阅读,您可以在cplusplus.com上使用this answer或几乎完全解释link。 希望它有所帮助,欢呼。