i don't repeat more necessary, brief summary: following adder
example tutorial on machine win7 (64) vs 2010. don't use c++ plain c.
when using cl
(ms compiler) cl /zi
(and no other flag) works expected. if not use /zi
, try execute exe goes flames.
why? (there must compiler/link options make init in start of haskell dll go wrong )
edit: investigation:
/zi
not affect optimizations. however, /zi
imply /debug
; see /debug
(generate debug info) more information.
/debug
changes defaults /opt
option ref
noref
, icf
noicf
(so, need explicitly specify /opt:ref
or /opt:icf
).]
/opt:icf
can result in same address being assigned different functions or read data members (const variables compiled /gy
). so, /opt:icf
can break program depends on address of functions or read-only data members being different. see /gy
(enable function-level linking) more information.
can confirm /opt:icf
affect loading of haskell/ghc compiled shared library(dll) ?
Comments
Post a Comment