Or was this it?

#ifdef __cplusplus
extern "C" {
#endif
extern void _RVExtensionVersion(char* p0, size_t p1);
extern void _RVExtensionArgs(char* p0, size_t p1, char* p2, char** p3, int p4);
extern void _RVExtension(char* p0, size_t p1, char* p2);
#ifdef __cplusplus
}
#endif

The 32-bit exports listed here,
https://community.bistudio.com/wiki/Extensions, are most likely what
is listed in the module-definition file ending in .def.
Can you please try using the following declaration:
//export RVExtension
func RVExtension(output *C.char, outputsize C.size_t, input *C.char) {...}

Compile your dll and post the output of dumpbin.exe /EXPORTS
/path/to/slib.dll showing the listing of your exported symbols?

On Mon, Jun 24, 2019 at 11:41 AM Alexander Kapshuk
<alexander.kaps...@gmail.com> wrote:
>
> 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 <onop...@gmail.com> 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 golang-nuts+unsubscr...@googlegroups.com.
> > 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/CAJ1xhMUDf6P-rjgfWFNHqz5SK4T%2B9kWVPPxhnUtCQOYTS_NYsw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to