공통 선언을 사용하여 메모리 변수를 "공유"하는 Fortran 77 응용 프로그램이 있습니다. 기억이 고가 였고 이로 인해 어려움을 겪었던 그 날은 뒤로 돌아 왔습니다.Fortran 77에서 C++로 변환
제어되는 장비가 상태 플래그를 설정합니다. 이 플래그는이 Common 변수에 상주합니다.
C++에서 공용 기능을 구현하는 방법에 대한 제안 사항은 무엇입니까?
아마도 모든 공통 변수가 공개 인 클래스 일 수 있습니다. 따라서 해당 클래스를 인스턴스화하는 모든 프로그램은 Common 변수의 내용에 액세스 할 수 있습니다.
포트란을 C 또는 C++로 변환하는 데 필요한 자습서/지침이 있습니까?
감사
모든
25 년 전에 Fortran을 C로 변환하는 방법에 대한 질문에 대한 comp.lang.c의 표준 답변은 "rm -rf * .f는 모든 포트란 프로그램을 디스크 블록을 비우도록 변환 한 다음 –
wrt "제어되는 장비가 상태 플래그를 설정합니다.이 플래그는 이러한 공통 변수에 있습니다.", 전역 변수 만 필요합니까? 아니면 C++ 코드가 실제 사실상 포트란 스타일 공통 블록과 상호 작용할 필요가 있습니까? ? 후자는 컴파일러/링커에 따라 가능합니다. –
일반적인 varaibles는 정말 많은 메모리를 저장하지 않습니다! "장비 제어"에 대해 말하자면 장치 드라이버가 제어 플래그를 고정 된 메모리 영역에 매핑해야하므로 이러한 변수가 일반적이라고 생각합니다. C externs는 기능상으로 동일하지만 링커가 실제 필드 이름을 기반으로 메모리를 매핑하므로 조심해야합니다. 따라서 C 및 Legacy Fortran 모듈을 혼합하는 경우 동일한 순서로 동일한 이름을 정의해야합니다! –