TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Gary Chambers
from: Jonathan de Boyne Pollard
date: 1994-11-19 05:12:20
subject: DLLs

GC>
  > How can I successfully call functions in DLLs compiled by
  > compilers other than what I own?
GC>

  There are two issues :  name mangling and calling convention.

  Name mangling isn't really an issue, as even mangled names can be
  easily called with some nifty footwork in the .DEF file.

  If the routines use the _System calling convention then you should be
  well away.  *ALL* OS/2 compilers *must* support the _System calling
  convention (they wouldn't be able to call the system API if they
  couldn't).

  If the routines use some other non-standard calling convention, such
  as _Optlink in CSet++ or __fastcall in BC++OS2, then the DLL writer
  has locked you into one language.  If the DLLs are not compiler
  specific (C++ runtime libraries are) then this has been done for no
  good reason, and the author of the DLL deserves to be punished, for
  making the brain-dead assumption that everybody uses the same C++
  compiler that he does.

  To be fair, the vast majority of DLL writers use _System, because they
  are aware of this.

  > JdeBP <
___
 X MegaMail 2.10 #0:
--- Maximus/2 2.02

* Origin: DoNoR/2,Woking UK (01483-725167) (2:440/4)
SEEN-BY: 12/2442 54/54 620/243 624/50 632/348 640/820 690/660 711/409 410 413
SEEN-BY: 711/430 807 808 809 934 942 949 712/353 623 713/888 800/1
@PATH: 440/4 141/209 270/101 396/1 3615/50 229/2 12/2442 711/409 54/54
@PATH: 711/808 809 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.