/* Code generated by cmd/cgo; DO NOT EDIT. */ /* package _/F_/Git/returnHWID-Arma */
#line 1 "cgo-builtin-export-prolog" #include <stddef.h> /* for ptrdiff_t below */ #ifndef GO_CGO_EXPORT_PROLOGUE_H #define GO_CGO_EXPORT_PROLOGUE_H #ifndef GO_CGO_GOSTRING_TYPEDEF typedef struct { const char *p; ptrdiff_t n; } _GoString_; #endif #endif /* Start of preamble from import "C" comments. */ #line 3 "main.go" #include <stdlib.h> #include <stdio.h> #include <string.h> #line 1 "cgo-generated-wrapper" /* End of preamble from import "C" comments. */ /* Start of boilerplate cgo prologue. */ #line 1 "cgo-gcc-export-header-prolog" #ifndef GO_CGO_PROLOGUE_H #define GO_CGO_PROLOGUE_H typedef signed char GoInt8; typedef unsigned char GoUint8; typedef short GoInt16; typedef unsigned short GoUint16; typedef int GoInt32; typedef unsigned int GoUint32; typedef long long GoInt64; typedef unsigned long long GoUint64; typedef GoInt64 GoInt; typedef GoUint64 GoUint; typedef __SIZE_TYPE__ GoUintptr; typedef float GoFloat32; typedef double GoFloat64; typedef float _Complex GoComplex64; typedef double _Complex GoComplex128; /* static assertion to make sure the file is being used on architecture at least with matching size of GoInt. */ typedef char _check_for_64_bit_pointer_matching_GoInt[sizeof(void*)==64/8 ? 1:-1]; #ifndef GO_CGO_GOSTRING_TYPEDEF typedef _GoString_ GoString; #endif typedef void *GoMap; typedef void *GoChan; typedef struct { void *t; void *v; } GoInterface; typedef struct { void *data; GoInt len; GoInt cap; } GoSlice; #endif /* End of boilerplate cgo prologue. */ #ifdef __cplusplus extern "C" { #endif extern void RVExtensionVersion(char* p0, size_t p1); extern void RVExtension(char* p0, size_t p1, char* p2); #ifdef __cplusplus } #endif понедельник, 24 июня 2019 г., 14:00:49 UTC+3 пользователь Alexander Kapshuk написал: > > 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 <javascript:>> 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 <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/049bf6f7-113a-4d39-bb38-c4838c1d5f1a%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.