- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
For example, function
LINETOAREX
result = LINETOAREX (loc(fx), loc(fy), loc(tx) loc(ty), loc(C), loc(S), cnt)
fx | (Input) INTEGER(2). From x viewport coordinate array. |
fy | (Input) INTEGER(2). From y viewport coordinate array. |
tx | (Input) INTEGER(2). To x viewport coordinate array. |
ty | (Input) INTEGER(2). To y viewport coordinate array. |
C | (Input) INTEGER(4). Color array. |
S | (Input) INTEGER(4). Style array. |
cnt | (Input) INTEGER(4). Length of each coordinate array; also the length of the color array and style array. All of the arrays should be the same size. |
in file ifqwin.f90,
INTERFACE
INTEGER(2) FUNCTION LINETOAREX(PFX,PFY, PTX, PTY, PC, PS, COUNT)
!DEC$ ATTRIBUTES DEFAULT :: LINETOAREX
INTEGER(4) PFX,PFY, PTX, PTY, PC, PS, COUNT
!DEC$ ATTRIBUTES DECORATE, C, ALIAS:"_linetoarrayex" :: LINETOAREX
END FUNCTION
END INTERFACE
for x64, the red part is incorrect
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
OK LINETOAREX is an Intel creation it is not a thin wrapper to sdk graphic functions but one woudl assume under the lid it makes a series of sdk calls for some other C library.
There is a bug as the OP describes. The intel help show it passed with loc(var), the Intel interface does not reflect that. One can seen why despite being wrong it will still work. In X64 it will not down to the different address sizes. A throwback. Passing without loc will give an error as you will be passing arrays to a scaler so the compile will show and error (which you can set an option for it to ignore).
링크가 복사됨
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
when PARALLEL implement, moveto and lineto together have to run asynchronously
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
see the call
result = LINETOAREX (loc(fx), loc(fy), loc(tx) loc(ty), loc(C), loc(S), cnt)
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
the call usage is from the help document. when compilered , warning #6075: The data type of the actual argument does not match the definition. [LOC]
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
In Intel Visual Fortran Composer XE 2013 with Visual Studio 2008, it works fine in 32-bit and fails in 64-bit
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
It is very strange that the pragram can run successfully when compilered with optimization options on.
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
OK LINETOAREX is an Intel creation it is not a thin wrapper to sdk graphic functions but one woudl assume under the lid it makes a series of sdk calls for some other C library.
There is a bug as the OP describes. The intel help show it passed with loc(var), the Intel interface does not reflect that. One can seen why despite being wrong it will still work. In X64 it will not down to the different address sizes. A throwback. Passing without loc will give an error as you will be passing arrays to a scaler so the compile will show and error (which you can set an option for it to ignore).
