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.

Reply via email to