当我们在C程序中调用算术运算符时,有没有一种方法可以调用用户定义的函数,就像在C ++中运算符重载一样。使用GNU GCC编译器? 只是, 我有一个函数add(),在我的C程序中我有算术运算
c = a + b;
当我编译程序时,它应该在内部为+运算符调用我的add()函数。
有没有办法可以看到gcc编译器在遇到+运算符时调用的代码是什么?
答案 0 :(得分:1)
没有
C不起作用,你不能超载/覆盖基本的内置运算符。
通过让gcc直接发出using -S
或者通过反汇编生成的二进制文件,看到代码当然是可能的。相关的binutils工具是objdump
。
这些天也可以做很多这样的探索"在线"当然,在godbolt.org使用奇妙的Compiler Explorer工具。