CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): chilly (김규동)
날 짜 (Date): 1995년12월05일(화) 12시56분36초 KST
제 목(Title): Re: [Q] Mixed Programming



이거 잘 모르는 사람이 답을 해서 도움이 안되면 어떻게 하나..

1. Compiler.. 문제는 object format이 같으냐 하는 것인데요.. C compiler를
 새로 살 거면 문제없겠지만 그렇지 않다면, 있는 것으로 test해 보는 것이 좋을듯.
 거기에도 Microsoft가 표준뭐 하는 것을 만들어 놓은 것으로 알고있거든요.
2. 책은 잘 모르겠고
우선 주의하실점은:
    가. fortran과 c는 argument를 받아가는 방법이 반대랍니다. 그러니까,
        함수에서 인수를 넘겨줄때는 이말이 사실인지를 반드시 확인하고
        사용하세요.
    나. fortran과 c는 obj를 만들때 function이름을 주는 convention이 다르답니다.
        한쪽에서 _(underscore)를 붙인데나..
        아.. fortran이 아마 function 이름 끝에 _를 붙일 것입니다.
        그러니까 만약 fortran으로 main을 만들고 c routine을 부른다면

        int croutine_(arguments)
        .
        .
        .

        하고, fortran에서 부르기는 그냥 croutine이라고 call을 하면 되죠.
    다. c에서는 argument를 값으로도 주고 address로도 줄수있는데(pointer)
        fortran은 항상 address로만 주는 것으로 알고 있습니다. 주의하시길.
대충 이정도만 하면 문제없이 될 것입니다. 참 '나'의 경우 c로 main을
을 만든다면 반대가 되니까 주의해야 할 것입니다. 꼭 test해보고 하세요.
(compile된 obj를 들여다 보면 function이름이 보입니다.) 그리고 compiler
option 따라서 function이름을 대소문자 구별하는 경우와 그렇지 않은 경우등이
있으니 주의하시구요.. 그리고 이건 여담인데 꼭 fortran에 좋은 library가
가 있지 않은 경우라면 c로 만드시는 것이 계산에도 유리할텐데요.. 요즘
사이 RISC 칩들은 다들 C를 염두에 두고 만들어진 것들이라..

안녕..
--
Gyudong Kim %   Dept. of Electronics, Seoul Nat'l Univ., Seoul 151-742, Korea
     chilly % Phone +82 2 880 7280; Fax +82 2 885 6993; Pager +82 12 845 3420
    Fabiano %      http://www.iclab.snu.ac.kr/~chilly, chilly@iclab.snu.ac.kr
[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.