Per esempio:Come definire una funzione su un puntatore struct in assembly?
// dummy.go
type dummy struct {
p uintptr
}
func (d dummy) Get(i int) uint64
//func (d *dummy) Get(i int) uint64 //no way to define *dummy in assembly
func (d dummy) Get
può essere definito come:
// dummy_amd64.s
#include "textflag.h"
TEXT ·dummy·Get(SB),NOSPLIT,$0
MOVQ $42, 24(SP)
RET
ho provato
TEXT "".(*dummy).Get+0(SB),4,$0-24 //output from 6g -S
TEXT ""·(*dummy)·Get+0(SB),4,$0
TEXT ·*dummy·Get(SB),NOSPLIT,$0
//and
TEXT ·(*dummy)·Get(SB),NOSPLIT,$0
Tutti loro mi dà lo stesso errore:
syntax error, last name: "".
Sono sicuro che mi manca qualcosa di ovvio ma non riesco a capirlo.
cercare di definire la funzione nel linguaggio di programmazione che si sta utilizzando (andare, per quanto vedo) e di smontare il file oggetto. Quindi vedi il nome della funzione "reale". Per esempio in C++ "myClass :: myFunc (int, int)" può essere chiamato _Z7myClassF6myFuncII in assembler. –
@MartinRosenau Purtroppo copiare/incollare l'output non funziona, ho dimenticato di includerlo nella domanda. – OneOfOne
Ho trovato nada in grepping le clausole 'TEXT' nello stdlib. Vale la pena un post golgang - chiedo se è anche possibile. – twotwotwo