cppintf: c++ name

This commit is contained in:
xushiwei
2024-06-22 09:14:10 +08:00
parent 26b771f9f9
commit b4fd4a0c38
3 changed files with 8 additions and 0 deletions

View File

@@ -34,4 +34,5 @@ func (p *Bar) sqrt(v float64) float64 {
func main() { func main() {
bar := NewBar(1) bar := NewBar(1)
foo.F(&bar.Callback) foo.F(&bar.Callback)
foo.G(&bar.Callback)
} }

View File

@@ -9,3 +9,7 @@ interface ICallback {
extern "C" void f(ICallback* cb) { extern "C" void f(ICallback* cb) {
printf("val: %d\ncalc(2): %lf\n", cb->val(), cb->calc(2)); printf("val: %d\ncalc(2): %lf\n", cb->val(), cb->calc(2));
} }
void g(ICallback* cb) {
f(cb);
}

View File

@@ -20,3 +20,6 @@ type CallbackVtbl struct {
//go:linkname F C.f //go:linkname F C.f
func F(cb *Callback) func F(cb *Callback)
//go:linkname G C._Z1gP9ICallback
func G(cb *Callback)