Hello Alexander,

from my understanding, we need to build a GO 32 bits DLL for a C software.

To load this DLL, the C software loads an entry point function called 
_RVExtension@12 wich is a decorated/mangle C name/

It seems that cgo doesn't accept to export functions with '@' in name 
composition wich is accepted by convention in C


Le lundi 24 juin 2019 10:42:07 UTC+2, Alexander Kapshuk a écrit :
>
> If I understand it correctly, cgo should have generated a 
> _cgo_export.h header with a declaration for your exported function. 
> Can you please post the generated declaration? 
>
> On Mon, Jun 24, 2019 at 12:47 AM <ono...@gmail.com <javascript:>> wrote: 
> > 
> > We are trying to make the x32 version of the extension, as shown in the 
> link below. 
> > https://community.bistudio.com/wiki/Extensions#C.2FC.2B.2B 
> > 
> > How we see, for x64 we must use entry points 
> > 
> > RVExtension 
> > RVExtensionArgs 
> > RVExtensionVersion 
> > 
> > 
> > but for x32 
> > 
> > _RVExtension@12 
> > _RVExtensionArgs@20 
> > _RVExtensionVersion@8 
> > 
> > 
> > It is very hard for me to explain to you exactly what we need, because I 
> am new to this language, and C doesn’t know at all. I really hope that you 
> understand what I mean. 
> > 
> > воскресенье, 23 июня 2019 г., 22:20:53 UTC+3 пользователь Kurtis Rader 
> написал: 
> >> 
> >> On Sun, Jun 23, 2019 at 4:49 AM nicolas_boiteux via golang-nuts <
> golan...@googlegroups.com> wrote: 
> >>> 
> >>> I need some assistance to export a GO dll function to a C program. 
> >>> 
> >>> The C program (wich i m not the author) required to call a function 
> with this name: _RVExtension@12 
> >> 
> >> 
> >> That is not a valid symbol (i.e., function name) in either C or Go. In 
> other words the following C is invalid: 
> >> 
> >>     extern int _RVExtension@12(); 
> >>     int main() { 
> >>         _RVExtension@12(); 
> >>     } 
> >> 
> >> Your question has nothing to do with Go or C as such. What does the 
> "@12" represent? Is it an API version number? In any event your question is 
> really about a specific build toolchain on a specific platform. And you 
> didn't even bother to tell us what platform you are using. I'm guessing MS 
> Windows but we shouldn't have to make such guesses. 
> >> 
> >> -- 
> >> Kurtis Rader 
> >> Caretaker of the exceptional canines Junior and Hank 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups "golang-nuts" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an email to golan...@googlegroups.com <javascript:>. 
> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/golang-nuts/ec18ff38-d70b-41ef-b7b4-fb243f407e1c%40googlegroups.com.
>  
>
> > For more options, visit https://groups.google.com/d/optout. 
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/cf0657d2-1536-49d7-b804-ea0b7c1d0271%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to