用自定义说明替换每个乘法
Replacing every multiplication with a custom instruction
我有一些基本的C 代码(以下包括)。我希望能够用自定义说明替换发生的每个乘法(包括在Math.h中包含的COS函数中)。我能够在我的主体内直接调用自定义指令,但是" cos"仍将使用旧的乘法指令。
我考虑过操作员超载,但是我无法正确地使此功能正确。
#include <iostream>
#include <string>
#include <math.h>
int main()
{
int a = 2;
int b = 5;
std::cout << "mult: " << a * b << std::endl;
std::cout << "cos: " << cos(b) << std::endl;
return 0;
}
以我想要的方式实施此自定义指令的最佳方法是什么?
有一种方法可以替代某些功能而不触摸您的代码。这取决于您如何构建代码。假设您正在使用Linux,则可以使用ld_preload注入功能。
这是如何做到这一点的一个很好的解释:
https://rafalcieslak.wordpress.com/2013/04/02/dynamic-linker-tricks-usion-ld_preload-creload-to-cheat-cheat-cheat-features-features-and-investige-and-investigate-programs/
如果这不完全适用于您的情况,则可以抓住一些想法或简单地学习此很酷的功能。
std::cos
仅为内置的浮点类型float
,double
,long double
提供过载(也可以提供任何积分类型,但在内部将其施加到double
)。您不能超载运算符内置类型。这意味着您无法做您要问的事情。
最好的是编写自己的数字类,以超载乘法运算符并使用您的替代乘法实现编写自己的三角函数。
相关文章:
- C++映射:具有自定义类的运算符[]不起作用(总是返回0)
- 如何将点击的信号和插槽添加到qt中的自定义按钮中
- C++自定义比较函数
- 如何比较自定义类的std::变体
- std::设置自定义比较器
- 如何正确实现和访问运算符的各种自定义枚举器
- flutter:即使shouldRepaint()返回true,自定义画家也不会重新绘制
- 自定义先决条件对移动分配运算符有效吗
- 使用VS Code和CMake Tools运行自定义命令
- 如何创建从Maya(或类似程序)到虚幻引擎的自定义数据导出插件
- 替换包含已弃用的一元函数的自定义模板
- 尝试在自定义 QT 创建器文本编辑器中创建查找和替换循环.我似乎无法设置光标位置
- 用自定义说明替换每个乘法
- 如何用自定义小部件替换QListWidget的图标?
- gtkhow用自定义标题替换所有标题
- 替换SHDOCLC.DLL文件以自定义网络浏览器的上下文菜单
- thrust::device_vector使用自定义函子/谓词来替换或转换
- 为具有已替换运算符new的类自定义std::分配器
- 非侵入性地用表达式树替换自定义类型
- 使用Boost c++库将正则表达式替换为自定义替换