From 767a0cc1fde72391d801afe900e2bd5b5678a528 Mon Sep 17 00:00:00 2001 From: xushiwei Date: Sat, 13 Jul 2024 19:53:55 +0800 Subject: [PATCH] _wrap: llgo_check (to be continued) --- cpp/inih/_wrap/llgo_check.cpp | 7 +++++++ cpp/inih/_wrap/llgo_check.go | 16 ++++++++++++++++ cpp/inih/reader.go | 2 +- cpp/std/_wrap/llgo_check.cpp | 7 +++++++ cpp/std/_wrap/llgo_check.go | 12 ++++++++++++ cpp/std/_wrap/string.cpp | 1 + 6 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 cpp/inih/_wrap/llgo_check.cpp create mode 100644 cpp/inih/_wrap/llgo_check.go create mode 100644 cpp/std/_wrap/llgo_check.cpp create mode 100644 cpp/std/_wrap/llgo_check.go diff --git a/cpp/inih/_wrap/llgo_check.cpp b/cpp/inih/_wrap/llgo_check.cpp new file mode 100644 index 000000000..2a1a5bf77 --- /dev/null +++ b/cpp/inih/_wrap/llgo_check.cpp @@ -0,0 +1,7 @@ +#include +#include + +int main() { + printf("sizeof(Reader) = %lu\n", sizeof(INIReader)); + return 0; +} diff --git a/cpp/inih/_wrap/llgo_check.go b/cpp/inih/_wrap/llgo_check.go new file mode 100644 index 000000000..a5ae28ec0 --- /dev/null +++ b/cpp/inih/_wrap/llgo_check.go @@ -0,0 +1,16 @@ +package main + +import ( + "unsafe" + + "github.com/goplus/llgo/c" + "github.com/goplus/llgo/cpp/inih" +) + +const ( + LLGoCFlags = "$(pkg-config --cflags INIReader)" +) + +func main() { + c.Printf(c.Str("sizeof(Reader) = %lu\n"), unsafe.Sizeof(inih.Reader{})) +} diff --git a/cpp/inih/reader.go b/cpp/inih/reader.go index ee194e779..6f0a1638a 100644 --- a/cpp/inih/reader.go +++ b/cpp/inih/reader.go @@ -27,7 +27,7 @@ import ( // llgo:type C type Reader struct { - Unused [24]byte + Unused [32]byte } // llgo:link (*Reader).InitFromBuffer C._ZN9INIReaderC1EPKcm diff --git a/cpp/std/_wrap/llgo_check.cpp b/cpp/std/_wrap/llgo_check.cpp new file mode 100644 index 000000000..1149cec3b --- /dev/null +++ b/cpp/std/_wrap/llgo_check.cpp @@ -0,0 +1,7 @@ +#include +#include + +int main() { + printf("sizeof(std::string) = %lu\n", sizeof(std::string)); + return 0; +} diff --git a/cpp/std/_wrap/llgo_check.go b/cpp/std/_wrap/llgo_check.go new file mode 100644 index 000000000..1a0f0e137 --- /dev/null +++ b/cpp/std/_wrap/llgo_check.go @@ -0,0 +1,12 @@ +package main + +import ( + "unsafe" + + "github.com/goplus/llgo/c" + "github.com/goplus/llgo/cpp/std" +) + +func main() { + c.Printf(c.Str("sizeof(std::string) = %lu\n"), unsafe.Sizeof(std.String{})) +} diff --git a/cpp/std/_wrap/string.cpp b/cpp/std/_wrap/string.cpp index 94f73508d..ba17a9154 100644 --- a/cpp/std/_wrap/string.cpp +++ b/cpp/std/_wrap/string.cpp @@ -1,4 +1,5 @@ #include +#include extern "C" {