trying to build an optimised dll
command
-Wc -O3 -dll -export
Warning: .drectve `ƒìƒ|$$t¸' unrecognized
Warning: .drectve `ƒÄÂ' unrecognized
Warning: .drectve `ÇD$' unrecognized
Warning: .drectve `ÇD$' unrecognized
Warning: .drectve `Ç$' unrecognized
Warning: .drectve `è' unrecognized
Warning: .drectve `ƒì¸' unrecognized
Warning: .drectve `ƒÄÂ' unrecognized
Warning: .drectve `UWVSƒìL‹t$`‹|$d‰ðƒð ø”À%ÿ' unrecognized
Warning: .drectve `÷؉ñƒñ ù”Ããÿ' unrecognized
Warning: .drectve `‰Ý÷Ý Å…j' unrecognized
Warning: .drectve `ÇD$' unrecognized
Warning: .drectve `ÇD$' unrecognized
Warning: .drectve `‰4$‰|$è' unrecognized
Warning: .drectve `Âu‰èƒÄL[^_]Â' unrecognized
Warning: .drectve `ÇD$' unrecognized
Warning: .drectve `ÇD$' unrecognized
Warning: .drectve `‰4$‰|$è' unrecognized
Warning: .drectve `Ât̉t$‰|$ßl$…ÿyØ' unrecognized
Warning: .drectve `Ý\$8ÝD$8ÙúØ' unrecognized
Warning: .drectve `Ý$è' unrecognized
Warning: .drectve `Ù' unrecognized
Warning: .drectve `ÙÉØÑßàöÄ„Ý' unrecognized
Warning: .drectve `ÝÙÙ|$6f‹D$6€Ìf‰D$4Ùl$4ß|$ Ùl$6¸' unrecognized
Warning: .drectve `‹L$ ‹\$$9ȸ' unrecognized
Warning: .drectve `ع' unrecognized
Warning: .drectve `»' unrecognized
Warning: .drectve `ƒŽ' unrecognized
Warning: .drectve `‰È‰Ú‰L$‰\$ƒÀÿƒÒÿ‰D$‰T$‰4$‰|$è' unrecognized
Warning: .drectve `‹L$‹\$„ÿÿÿ‰È‰Ú‰L$‰\$ƒÀƒÒ' unrecognized
Warning: .drectve `‰D$‰T$‰4$‰|$è' unrecognized
Warning: .drectve `„Øþÿÿ‹L$‹\$ƒÁƒÓ' unrecognized
Warning: .drectve `‹D$ ‹T$$9ȉÐ؃zÿÿÿ½ÿÿÿÿé¬þÿÿÞáÙ|$6f‹D$6€Ìf‰D$4Ùl$4ß|$(Ùl$6‹L$(‹\$,‰Ø' unrecognized
Warning: .drectve `€‰L$ ‰D$$éÿÿÿ' unrecognized
creating import library: C:\Users\Computer\Desktop\fb\WinFBE_Suite\FreeBASIC-1.07.1-gcc-8.4\bin\win32\dlltool.exe --def
...
...
The dll is built, but it fails.
No problem with
FreeBASIC Compiler - Version 1.07.2 (2020-12-25), built for win64 (64bit) (gcc 5.2)
Note also the same problem with gcc 8.1
Can I assume other gcc 8.x have the same problem, probably not, but I can only test gcc 8.1 and 8.4
The test code is very simple.
isprime.bas to an optimised .dll
Code: Select all
Function isaprime(n As ulongint) As long export
If (n=2) Or (n=3) Then Return -1
If n Mod 2 = 0 Then return 0
If n Mod 3 = 0 Then return 0
Dim As ulongint limit=Sqr(N)+1
For I As ulongint = 6 To limit Step 6
If N Mod (i-1) = 0 Then return 0
If N Mod (i+1) = 0 Then return 0
Next I
Return -1
End Function