草庐IT

IntrHandler

全部标签

c++ - 如何在运行时生成函数?

我正在尝试用C++编写中断服务例程,这里是一些代码片段voidhandlerProxy(intintrNo){}typedefvoid(*IntrHandler)();IntrHandlerIDT[256];我想像这样在运行时或编译时初始化IDT:for(size_ti=0;i问题是带捕获的lambda函数不能转换为函数指针我的代码将使用-fno-rtti进行编译,因此std::function::target不可用我有没有可能做到这一点?我不想手动编写IDT[0]=...IDT[1]=...或使用其他程序生成它。允许使用宏和内联asm。IDT的类型可以改变,但是IDT的元素应该是函数