改变函数的名字,要不,在DEF文件中使用别名来标识,一般情况下对于自定义的函数名都加一些前缀或后缀,用来跟别的API函数区别开

解决方案 »

  1.   

    加全局范围符,如下:
    ::API函数名(参数表)
      

  2.   

    没办法,我以前做的一个系统里边用到了对API的调用,但是我现在想在调用这个API前做些处理,如果给每个地方都加的话太麻烦了,用不同的函数名的话一样,以前的所有调用都得改,万一有漏的那岂不死定了,而且这样还要重新测试.我记得好象是在前边加什么的可是就是想不起来了还请高手指教.加::不行的还是调用的自定义函数
      

  3.   

    把你自定义的函数用namespace可以这样写
    namespace mydefine
    {
    YOUFuntionName();
    }在调用你自己的函数前加上 mydefine::即可
      

  4.   

    还是不对,我是说我现在怎么调用API,因为有些地方可能不用的(这很少的).高手们帮帮我呀,否则我会很惨的.
      

  5.   

    有办法啊, 因为你调用的少 
    可以loadlibrary然后GetProcAddress就行了, 
    最后你自己另写一个函数包一下 
    ok
    看得懂吗
      

  6.   

    还是用namespace
    namespace callAPI
    {
    API();
    }行不行?
    callAPI::API
      

  7.   

    奇怪,你的API和API重名,居然会不报错?怎么写得?
    我写的函数,编译为什么就报错?
      

  8.   

    你自己定义的函数如果在类中的话,加::后执行的是API。
      

  9.   

    用GetProcAddress 把系统API另起个名,如:myfunc,再调用myfunc,这个API你是不是很少用??
    例子到[email protected]
      

  10.   

    用宏呀!我这样就实现过:
    比如要改HeapAlloc/HeapFree:#ifdef _DEBUGint g_AllocCount = 0;LPVOID HeapAllocDebug(HANDLE hHeap, DWORD dwFlags, DWORD dwBytes)
    {
    LPVOID lpMem = HeapAlloc(hHeap, dwFlags, dwBytes);
    g_AllocCount++;
    TCHAR tErr[128];
    _stprintf(tErr, TEXT("HeapAlloc! Count = %d, Pointer = %p;\n"), g_AllocCount, lpMem);
    OutputDebugString(tErr);
    return lpMem;
    }BOOL HeapFreeDebug(HANDLE hHeap, DWORD dwFlags, LPVOID lpMem)
    {
    g_AllocCount--;
    TCHAR tErr[128];
    _stprintf(tErr, TEXT("HeapFree! Count = %d, Pointer = %p;\n"), g_AllocCount, lpMem);
    OutputDebugString(tErr);
    return HeapFree(hHeap, dwFlags, lpMem);
    }LPVOID HeapReAllocDebug(HANDLE hHeap, DWORD dwFlags, LPVOID lpMem, DWORD dwBytes)
    {
    LPVOID lpNewMem = HeapReAlloc(hHeap, dwFlags, lpMem, dwBytes);
    TCHAR tErr[128];
    _stprintf(tErr, TEXT("HeapReAlloc! Old_Pointer = %p, New_Pointer = %p;\n"), lpMem, lpNewMem);
    OutputDebugString(tErr);
    return lpNewMem;
    }#define HeapAlloc HeapAllocDebug
    #define HeapFree HeapFreeDebug
    #define HeapReAlloc HeapReAllocDebug#endif