这两天写了一个自定义的服务程序,Service->StartService()来启动我的服务程序,平时运行完好,直到我把这个Service类导出的时候出现了问题,无法找类的StartService的方法,这是为什么呢,因为winsvr.h头文件中定了StartService宏:
#ifdef UNICODE
#define StartService StartServiceW#else
#define StartService StartServiceA
#endif // !UNICODE
所以我导出的函数名其实是StartServiceA,所以函数命名的时候要注意,不能和系统的宏函数同名,否则会使用宏指向的值来命名函数,不作为导出函数基本没什么问题,导出的时候就会出现莫名其妙的无法链接的问题。