some wrap to cpp

This commit is contained in:
luoliwoshang
2025-06-11 21:02:32 +08:00
parent bdff346a20
commit e7e9530eb8
8 changed files with 22 additions and 5 deletions

View File

@@ -1,5 +1,9 @@
#include <ffi.h> #include <ffi.h>
extern "C" {
void *llog_ffi_closure_alloc(void **code) { void *llog_ffi_closure_alloc(void **code) {
return ffi_closure_alloc(sizeof(ffi_closure), code); return ffi_closure_alloc(sizeof(ffi_closure), code);
} }
}

View File

@@ -10,7 +10,7 @@ import (
const ( const (
LLGoPackage = "link: $(pkg-config --libs libffi); -lffi" LLGoPackage = "link: $(pkg-config --libs libffi); -lffi"
LLGoFiles = "$(pkg-config --cflags libffi): _wrap/libffi.c" LLGoFiles = "$(pkg-config --cflags libffi): _wrap/libffi.cpp"
) )
/* /*

View File

@@ -1,5 +1,9 @@
#include <uv.h> #include <uv.h>
extern "C" {
int uv_tcp_get_io_watcher_fd (uv_tcp_t* handle) { int uv_tcp_get_io_watcher_fd (uv_tcp_t* handle) {
return handle->io_watcher.fd; return handle->io_watcher.fd;
} }
}

View File

@@ -9,7 +9,7 @@ import (
const ( const (
LLGoPackage = "link: $(pkg-config --libs libuv); -luv" LLGoPackage = "link: $(pkg-config --libs libuv); -luv"
LLGoFiles = "$(pkg-config --cflags libuv): _wrap/libuv.c" LLGoFiles = "$(pkg-config --cflags libuv): _wrap/libuv.cpp"
) )
// ---------------------------------------------- // ----------------------------------------------

View File

@@ -1,5 +1,9 @@
#include <openssl/crypto.h> #include <openssl/crypto.h>
extern "C" {
void opensslFree(void *ptr) { void opensslFree(void *ptr) {
OPENSSL_free(ptr); OPENSSL_free(ptr);
} }
}

View File

@@ -25,7 +25,7 @@ import (
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
const ( const (
LLGoFiles = "$(pkg-config --cflags openssl): _wrap/openssl.c" LLGoFiles = "$(pkg-config --cflags openssl): _wrap/openssl.cpp"
LLGoPackage = "link: $(pkg-config --libs openssl); -lssl -lcrypto" LLGoPackage = "link: $(pkg-config --libs openssl); -lssl -lcrypto"
) )

View File

@@ -1,3 +1,6 @@
extern "C" {
#if defined(__GNUC__) || defined(__clang__) #if defined(__GNUC__) || defined(__clang__)
void llgo_getcpuid(unsigned int eax, unsigned int ecx, void llgo_getcpuid(unsigned int eax, unsigned int ecx,
unsigned int *a, unsigned int *b, unsigned int *a, unsigned int *b,
@@ -19,3 +22,5 @@ void llgo_getcpuid(unsigned int eax, unsigned int ecx,
#else #else
#error This code requires GCC or Clang #error This code requires GCC or Clang
#endif #endif
}

View File

@@ -10,7 +10,7 @@ import (
const ( const (
LLGoPackage = "link" LLGoPackage = "link"
LLGoFiles = "_wrap/cpu_x86.c" LLGoFiles = "_wrap/cpu_x86.cpp"
) )
//go:linkname c_getcpuid C.llgo_getcpuid //go:linkname c_getcpuid C.llgo_getcpuid