我有一个我从文件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);
}