#include<cmath这个库包含exp(x)函数,可以解决此问题。岁雹
1.打开vc++6.0编译器,如图所示选择新函数。
2.在新函数中选择文件,然后选择c/c++头文件,然后在正确的文件名中输入要使用的头文件名**。
3.在新的头文件中输入你的头代码(如图所示是我刚写的一个调用函数),键入代码后,点击左上角保存。
4.找到新的头文件,复制或移动到VC98\Include目录下的vc++6.0安装目录。
5.再次打开vc++创建一个新的C语言文件,如下图所示,选择该文件,选择C/c++源文件,输入文件名**。C(记得带文件扩展名。C),确认。
6.在新的镇基c文件中输入代码,并声明您在预处理命令中编写的用于调用头库的头文件的名称。御雀谨
实例代码(soTest.c):1 #include <stdio.h>
2 #include <dlfcn.h>
3
4 int main(int argc, char *argv[]){
5 void * libm_handle = NULL
6 float (*cosf_method)(float)
7 char *errorInfo
8 float result
9
10 // dlopen 函数还会自动解析共享库中的依赖项。这样,如果您打开了一个依赖于其他共享库的对象,它就会自动加载它们。
11 // 函数返回一个句柄,该句柄用于后续的 API 调用
12 libm_handle = dlopen("libm.so", RTLD_LAZY )
13 // 如果返回 NULL 句柄,表示无法找到对象文件,过程结束。否则的话,将会得到对象的一个句柄,可以进一步询问对象
14 if (!libm_handle){
15 // 如果返回 NULL 句柄,通过dlerror方法可以取得无法访问对象的原因
16 printf("Open Error:%s.\n",dlerror())
17 return 0
18 }
19
20 // 使用 dlsym 函数,尝试解析新打开的对象文件中的符号。您将会得到一个有效的指向该符号的指针,或者是得到一个 NULL 并返回一个错误
21 cosf_method = dlsym(libm_handle,"cosf")
22 errorInfo = dlerror()// 调用dlerror方法,返回错误信息的同时,内存中的错误信息被清空
23 if (errorInfo != NULL){
24 printf("Dlsym Error:%s.\n",errorInfo)
25 return 0
26 }
27
28 // 执行“cosf”方森悄法此旅渣
29 result = (*cosf_method)(0.0)
30 printf("result = %f.\n",result)
31
32 // 调用 ELF 对象中的目标函数后,通过调用 dlclose 来关闭对它的访问
33 dlclose(libm_handle)
34
35 return 0
36 }
在这个例子中主要是调用了 math 库(libm.so)中的“cosf”函数,dlopen函数的第二个参数表镇段示加载库文件的模式,主要有两种:RTLD_LAZY 暂缓决定,等有需要时再解出符号;RTLD_NOW 立即决定,返回前解除所有未决定的符号。另外记得引用包含API的头文件“#include <dlfcn.h>”(^_^)。
#include头文件这个库中有函数exp(x)相信能满足您的要求cmath是c++语言中的库函数,其中的c表示函数是来自c标准库的函数,math为数学常用库函数。cmath库函数列表:C语言提供了以下的数学函数,要使用这些函数时,在程序文件头必须加入:#include编译时,必须加上参数「-lm」(表示连结至数学函式库),例如「gcc-lmtest.c」。函数之自变量与传回之值型别见自变量或函数前之型别宣告。函数已经在「math.h」或其它标头档宣告过了,因此在使用时不必再加型别宣告,例如「y=sin(x)」,不卜敏用写成「y=doublesin(doublex)」。函数说明:using::abs//绝对值using::acos//反余弦using::acosf//反余弦using::acosl//反余弦using::asin//反正弦using::asinf//反正弦using::asinl//反正弦using::atan//反正切using::atan2//y/x的反正切using::atan2f//y/x的反正切using::atan2l//y/x的反正切using::atanf//反正切using::atanl//反正切using::ceil//上取整using::ceilf//上取整using::ceill//上取整using::cos//余弦using::cosf//余弦using::cosh//盯弊卜双曲余弦using::coshf//双曲余弦using::coshl//双曲余弦using::cosl//余弦using::exp/凯穗/指数值using::expf//指数值using::expl//指数值using::fabs//绝对值using::fabsf//绝对值using::fabsl//绝对值using::floor//下取整using::floorf//下取整using::floorl//下取整using::fmod//求余using::fmodf//求余using::fmodl//求余using::frexp//返回value=x*2n中x的值,n存贮在eptr中using::frexpf//返回value=x*2n中x的值,n存贮在eptr中using::frexpl//返回value=x*2n中x的值,n存贮在eptr中using::ldexp//返回value*2exp的值using::ldexpf//返回value*2exp的值using::ldexpl//返回value*2exp的值using::log//对数using::log10//对数using::log10f//对数using::log10l//对数using::logf//对数using::logl//对数using::modf//将双精度数value分解成尾数和阶using::modff//将双精度数value分解成尾数和阶using::modfl//将双精度数value分解成尾数和阶using::pow//计算幂using::powf//计算幂using::powl//计算幂using::sin//正弦using::sinf//正弦using::sinh//双曲正弦using::sinhf//双曲正弦using::sinhl//双曲正弦using::sinl//正弦using::sqrt//开方using::sqrtf//开方using::sqrtl//开方using::tan//正切using::tanf//正切using::tanh//双曲正切using::tanhf//双曲正切using::tanhl//双曲正切using::tanl//正切欢迎分享,转载请注明来源:内存溢出
评论列表(0条)