i don't know why it so much verbose perhaps i don't use the good compilation flag .
Here another dump of a 32 bit dll extension with the same entry point but coded with c# (for comparaison purpose) Microsoft (R) COFF/PE Dumper Version 14.21.27702.2 Copyright (C) Microsoft Corporation. All rights reserved. Dump of file inidbi2.dll File Type: DLL Section contains the following exports for \inidbi2.dll 00000000 characteristics 5D0EB90A time date stamp Sun Jun 23 01:26:02 2019 0.00 version 0 ordinal base 1 number of functions 1 number of names ordinal hint RVA name 0 0 000038EE _RVExtension@12 Summary 2000 .reloc 2000 .rsrc 2000 .sdata 2000 .text Le lundi 24 juin 2019 18:35:56 UTC+2, nobody nobodye a écrit : > > Hello Alexander > > you can find the dump at this place: > https://pastebin.com/cg33nktu > > Le lundi 24 juin 2019 13:00:49 UTC+2, Alexander Kapshuk a écrit : >> >> 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 >> <alexande...@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 <ono...@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 golan...@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/5f62de9b-6f25-4b12-b0a5-39b243c9edb1%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.