我有一些基本的C++代碼(下面包含)。我希望能夠用自定義指令代替發生的每個乘法(包括math.h中包含的cos函數)。我可以直接調用我的main中的自定義指令,但是'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;
}
什麼是以我想要的方式實現此自定義指令的最佳方法?
我可以問*你爲什麼要這樣做? (PS:我很確定你想要什麼是不可能的,操作符重載不會適用於基類型,所以除非你重構整個代碼以使用你可以控制的自定義類型......) – Borgleader
NIOSII不支持浮點硬件乘法。我正在引入硬件,並希望加速我的COS計算。我現在有一個自定義指令,所以我可以''a * b'作爲'custom_instruction(a,b)',但是因爲cos在math.h庫中,所以我無法改變這些乘法運算。 –
你怎麼知道有乘法編譯器正在使用的'std :: cos'的版本?你有權訪問編譯器的源代碼嗎?讓它使用'custom_instruction(a,b)'可能會更容易,否則它會使軟件增加,而不會實際改變你的程序 – Caleth