std cpp、std c模块通过函数指针调用qt的功能
需求 win、vs环境下开发cpp程序,多个库,有std cpp、qt、std c… 因为qt的ts、qm、QCoreApplication::translate、lupdate…这一套东西方便了多语言的实现,所以希望在标准c、cpp库中也能用到qt这一套东西,但又不希望在基础库中引入qt库。 实现 在一个std cpp库中定义一个函数指针pFunc, 在qt cpp log库中定义此函数Func,并在初始化时赋值给pFunc。 类似这种需求都可以考虑采用函数指针来实现,相当于汇编级别的跳转指令。 std cpp库中定义一个函数指针pFunc: namespace StdErrorLog { enum EnumLogLevel { kELL_TRACE = 0 , /**< 0,跟踪 */ kELL_DEBUG , /**< 1,调试 */ kELL_INFOR , /**< 2,信息 */ kELL_WARNG , /**< 3,警告 */ kELL_ERROR , /**< 4,错误 */ kELL_FATAL , /**< 5,致命问题 */ kELL_OFF , /**< 6,关闭所有错误输出 */ kELL_ALL = kELL_TRACE , /**< 0,打开所有错误输出 */ } ; } typedef void ( * StdWriteErrorFuncType