gpt4 book ai didi

c++ - 在 glm::rotate 中使用 "custom"sin 和 cos

转载 作者:行者123 更新时间:2023-11-30 02:36:06 36 4
gpt4 key购买 nike

有什么方法可以使用我自己的 sincos 函数来代替 ::std::sin::glm::rotate(...) 调用中的 std::cos

我能想到的唯一方法是使用宏来替换 std 命名空间中的 sincos 符号,但我真的不想那样做。

最佳答案

使用 LD 预加载即可。

我会用一个小例子来解释。

假设这是我们的主要代码...

int main()
{
std::cout<< std::sin(1000);
return 0;
}

如果我编译并运行它,它应该打印 0.82688

现在我定义自己的罪

mysin.hpp

extern "C"
{
double sin(double);
}

mysin.cpp

#include "mysin.hpp"

double sin(double in)
{
return in + 10;//do you computation here
}

现在将其编译为共享库

g++ -O2 -c -fPIC mysin.cpp -o mysin.o
g++ -shared -Wl,-soname,libmysin.so mysin.o -o libmysin.so

假设原始程序被编译为“a.out”。在我们预加载的库中运行它

LD_PRELOAD=./libmysin.so ./a.out

现在结果将是“1010”。

关于c++ - 在 glm::rotate 中使用 "custom"sin 和 cos,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33147645/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com