[fpc-pascal] trying to use C code in .pas on WIN32

Marc Santhoff M.Santhoff at web.de
Tue Feb 5 15:49:52 CET 2019


On Mon, 2019-02-04 at 15:59 -0700, conlin664 via fpc-pascal wrote:
> THANKS GUYS.
>
> This is now working. The 'fix' was to actually install fpc 3.0.4 on this
> machine.
> My trusty 2.4.4 still compiled just fine what I use it for here at my day
> job.
>
> But it seems 2.4.4 was not really pulling in the static reference.
> { $L ccode.o }

[...]
> procedure HelloC; cdecl; external name 'HelloC';
>
[...]

> compiled on WIN32 with:
>
> @set ToolPath=C:\VCAST63\MinGW\bin
> @set cc=%ToolPath%\gcc.exe
>
> @set SAVED_PATH=%PATH%
> @set PATH=%ToolPath%;%PATH%
>
> @set BASE=%cd%
>
> %CC% -g -I%BASE%  -DGNU_WIN32 -O1  -Wunused-variable   -c ccode.c -o ccode.o
>
> rem %cc% -o test.exe ccode.o pcode.o  -lwsock32
>
> fpc -MDelphi  -vw -Sg  -Ci -O1  -OpPENTIUM3 -Ratt ^
> -Fu%FPC_BASE%\units\i386-Win32 ^
> -Fu%FPC_BASE%\units\i386-Win32\* ^
> -Fu%FPC_BASE%\units\i386-Win32\rtl ^
> -FlC:\VCAST63\MinGW\lib ^
> pcode.pas
>
> @set PATH=%SAVED_PATH%
> @exit /b

Why does this work having 'cdecl' instead of 'stdcall'?

Is it a special case regarding mingW32 that would not have happened using a
native compiler like the one from Microsoft or Borland or similar?

--
Marc Santhoff <M.Santhoff at web.de>



More information about the fpc-pascal mailing list