我使用的是一个库,它为一种脚本语言定义了内部除法运算符。不幸的是,它没有对除数进行零检查。这导致了许多头痛。我知道运算符的签名。
double ScriptClass::Divide(double&, double&);
遗憾的是,它甚至不是一个C函数。有没有办法让我的应用程序使用我的自定义Divide函数而不是ScriptClass::Divide函数?
编辑: 我知道dlopen(NULL,..)和用用户定义的函数替换“C”函数的方法。但是类成员函数能否这样做(不使用编码后的名称)?
double ScriptClass::Divide(double&, double&);
遗憾的是,它甚至不是一个C函数。有没有办法让我的应用程序使用我的自定义Divide函数而不是ScriptClass::Divide函数?
编辑: 我知道dlopen(NULL,..)和用用户定义的函数替换“C”函数的方法。但是类成员函数能否这样做(不使用编码后的名称)?
ScriptClass::Divide
,但要在零检查中包装它。 - wklScriptClass
通过解析脚本来创建其内部结构。99%的代码我不想再写一遍,我只想替换除法函数。 - nakiya(a/b)
替换为(a==0?NaN:a/b)
(或者脚本可能有的任何语法)。 - MSalters