如何把C编译成dll? 返回小木虫查看更多
c弄成dll,没弄过 不过你可以写成c++的,然后弄成dll啊 在VC下编译器里很方便的
你看看msdn里面关于动态链接库的编写部分,然后照着写一个就行了。可以用__declspec( dllexport )或者写.def文件导出函数或者变量,dllmain函数可要也可不要(不要的时候在属性里面指定生产dll)
只要告诉编译器你要生成DLL就行了,如果你的编译器没有这个功能,那么换个编译器就OK了。
做成了! 用c++ 文件如下: #include <math.h> extern "C"{ /*---------------- 计算理想气体焓值 --------------------*/ __declspec(dllexport) double c_h0(double T,double A, double B,double C, double D) { double hid; hid=(A+(B/2+(C/3+D*(1e-3)/4*T)*(1e-3)*T)*(1e-3)*T)*T; /* 计算 */ return hid; } /*-------------------- 计算理想气体熵值 -----------------*/ __declspec(dllexport) double c_s0(double P,double T,double R,double A, double B,double C, double D) { double sid,T0=273.15,P0=0.101325; sid=A*log(T/T0)+B*(1e-3)*(T-T0)+C/2*(1e-6)*(T*T-T0*T0)+D/3*(1e-9)*(T*T*T-T0*T0*T0)-R*log(P/P0); /* 计算理想气体熵 */ return sid; } } 然后用VS编译 命令为 cl/LD ***.cpp,
不错,学习学习
你可以在VC++的环境里编译生成吧
c弄成dll,没弄过
不过你可以写成c++的,然后弄成dll啊
在VC下编译器里很方便的
你看看msdn里面关于动态链接库的编写部分,然后照着写一个就行了。可以用__declspec( dllexport )或者写.def文件导出函数或者变量,dllmain函数可要也可不要(不要的时候在属性里面指定生产dll)
只要告诉编译器你要生成DLL就行了,如果你的编译器没有这个功能,那么换个编译器就OK了。
做成了!
用c++
文件如下:
#include <math.h>
extern "C"{
/*---------------- 计算理想气体焓值 --------------------*/
__declspec(dllexport) double c_h0(double T,double A, double B,double C, double D)
{
double hid;
hid=(A+(B/2+(C/3+D*(1e-3)/4*T)*(1e-3)*T)*(1e-3)*T)*T; /* 计算 */
return hid;
}
/*-------------------- 计算理想气体熵值 -----------------*/
__declspec(dllexport) double c_s0(double P,double T,double R,double A, double B,double C, double D)
{
double sid,T0=273.15,P0=0.101325;
sid=A*log(T/T0)+B*(1e-3)*(T-T0)+C/2*(1e-6)*(T*T-T0*T0)+D/3*(1e-9)*(T*T*T-T0*T0*T0)-R*log(P/P0); /* 计算理想气体熵 */
return sid;
}
}
然后用VS编译
命令为 cl/LD ***.cpp,
不错,学习学习
你可以在VC++的环境里编译生成吧