多次调用dll错误

时间:2016-07-08 17:02:10

标签: dynamic dll hyperlink

我有一个我从文件CC.H

编译的dll
#ifndef CC_H
#define CC_H
#ifdef __cplusplus
extern "C" {
#endif

void __declspec(dllexport) ColorChange(float& r,float& g,float& b,float vel);

#ifdef __cplusplus
}
#endif
#endif

和Fadeall.cpp

#include "CC.h"
void ColorChange(float &r,float &g,float &b,float vel)
{
r=0.9*r;
g=0.9*g;
b=0.9*b;
}

使用命令
g ++ -c Faseall.cpp -o CC.o
g ++ -shared -o CC.dll CC.o -Wl, - out-implib,CC.a

我使用命令动态链接dll myGLCanvas-> CC_dll = LoadLibrary(L" CC.dll");
myGLCanvas-> CCFn位置=(ColorChangeFn)GetProcAddress的(myGLCanvas-> CC_dll," ColorChange&#34);

调用该函数一次甚至100次即可,但调用此函数480000次会导致错误并导致程序中止。

for (int i=0;i<800*600;i++)
{
    myGLCanvas->CCfn(r,g,b,0.8);
} 

0 个答案:

没有答案