基本上,这是我的问题。我从C++代码中调用别人的FORTRAN函数,这让我很头疼。部分代码:返回数组的FORTRAN函数导致段错误(从C++调用)
function c_error_message()
character(len = 255) :: c_error_message
errmsg(1:9) = 'ERROR MSG'
return
end
这就是FORTRAN函数。我的第一个问题是:有没有什么会导致段错误?
如果不是,那么第二:这是什么回报?一个指针? 我想用下面的C语句来调用它:
char *e = c_error_message_();
这导致段错误。
c_error_message();
这也会导致段错误。
我宣布c_error_message_()早前与下面的代码:
extern"C" {
char* c_error_message_();
}
会声明函数用不同的返回类型比实际的返回类型会导致段错误?
我不知所措。感谢您的回复。
完美工作。万分感谢! – 2010-03-25 20:21:58
你能说明segfault的根源(引擎盖下)是什么原因吗? – 2011-07-08 17:20:07