1
5
技术上不,你不能。 碰巧,您的编译器使用的调用约定与“c”函数使用的调用约定相同。由于C++的ABI未被定义,编译器的下一版本可以自由使用完全不同的调用约定,这将使代码混乱,没有编译器的警告。
见:
http://www.parashift.com/c++-faq-lite/pointers-to-members.html#faq-33.2
编辑:
以线程为例:
|
2
-1
那就行了。实际上,您可以扩展该函数来调用依赖于捕获的信号的类的特定实例。例如,如果向类中添加一个非静态方法进程,则可以这样做:
|
3
-1
我在windows thead程序和其他各种回调中做了同样的工作,并且RTX总是中断。唯一真正的gotcha是成员必须是静态的(您已经知道了),并且您必须确保您的例程设置为使用标准的C/System调用约定。遗憾的是,您如何做到这一点取决于平台。在Win32中,它带有“uu stdcall”修饰符。 请注意,可以使用指针参数中的passback将此类调用“转换”为普通类方法调用。就像这样(“self_calling_callback”是静态方法):
|
Community wiki · C中有哪些耗时的操作? 1 年前 |
Community wiki · 将所有处理器电源都投入到任务中 1 年前 |
Community wiki · C++为C添加了什么?[已关闭] 1 年前 |
Community wiki · 打印1到1000,不带循环或条件 1 年前 |