首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

vc2005调用gsl库出现的诡异异常,请大家指点。c文件可以cpp不可以,请指点

2012-02-05 
vc2005调用gsl库出现的诡异错误,请大家指点。c文件可以cpp不可以,请指点使用网上hessan的sift其中的xform用

vc2005调用gsl库出现的诡异错误,请大家指点。c文件可以cpp不可以,请指点
使用网上hessan的sift
其中的xform用到了gsl科学计算库
原先sift是使用c的,我用到了vc2005中,没有问题
但后来我要把sift功能移植到一个MFC的工程中去,发现所有c文件都要改成cpp
于是我就改了,最后,编译可以了,而且可以通过生成
于是就要调试了,结果一debug
总是中断 啊,
我干脆一个一个文件的加入工程,直到加入xform.cpp的时候,哪怕我在工程中还没调用其中的函数, 工程都是一debug
就中断,出现访问xx的错误
中断进入 gs_support.c,
#if define(_WIN64)
  cookie =systime.ft_scalar
...
看callstack
 再下分别是 GetSystemTimeAsFile()
  mainCRTStartup()
 这种诡异问题应该怎么解决呢?

[解决办法]
不用改成.cpp文件呀,直接加入就可以了
包含头文件的时候加上extern "C"{
#include "gsl的头文件.h"
}
[解决办法]
extern "C" 是为了避免C函数被C++调用的时候,名称被改编。

热点排行