Fortran과 C++를 함께 사용해야합니다. C++ 클래스를 작성했습니다. C++ 라이브러리를 호출하는 extern "C"함수 덕분에 C++ 공용 함수를 호출 할 수 있습니다.혼합 언어 F77/C++ : C++ 인스턴스의 파기 피하기
이 함수는이 C++ 클래스의 인스턴스를 만듭니다. 이 함수가 끝나면, 나는 그 인스턴스를 메모리에 저장해두고 호출하기를 원한다. 하지만 파괴는 내 인스턴스가 자동으로 호출됩니다.
저는 이러한 인스턴스를 Fortran과 함께 사용하지 않고 다른 랩핑 된 C++ 함수에서 사용하려고합니다. iso_c_binding이나 Fortran 2003 기능을 사용할 수 없습니다 (불행히도).
메모리에 인스턴스를 유지하는 간단한 아이디어가 있습니까?
미리 감사드립니다.
'new'? (또한, 이것이 포트란과 어떤 관련이 있습니까?) – melpomene
스택에서 작성되고 함수가 완료되면 파기됩니까? 그들을 힙에 놓으십시오 ('new'를 사용합니다, 그러나 어떤 래퍼로 직접 사용하는 것을 피하는 것이 가장 좋습니다). 그런 다음 어딘가에 포인터를 저장하십시오. – BoBTFish