GNU/Linux >> Linux Esercitazione >  >> Linux

cosa fa la funzione weak_alias e dove è definita

da https://github.com/lattera/glibc/blob/master/include/libc-symbols.h

/* Define ALIASNAME as a weak alias for NAME.
   If weak aliases are not available, this defines a strong alias.  */
# define weak_alias(name, aliasname) _weak_alias (name, aliasname)
# define _weak_alias(name, aliasname) \
  extern __typeof (name) aliasname __attribute__ ((weak, alias (#name)));

Informazioni sul simbolo debole:

https://en.wikipedia.org/wiki/Weak_symbol


È una macro che fa quanto segue:

Dichiara una funzione debole, se non hai fornito un nome di simbolo forte per quella funzione chiamerà la funzione a cui l'hai assegnata. ad esempio

int _foo(){ return 1;}

//And weak alias
int __attribute__((weak, alias("_foo"))) foo();

Quindi, se non hai fornito l'effettiva implementazione per foo, in pratica utilizzerà _foo e restituirà 1.


Linux
  1. Che cos'è un Makefile e come funziona?

  2. Qual è la differenza tra InnoDB e MyISAM?

  3. Che cos'è un server Web e come funziona un server Web?

  4. Cosa significa nell'output di Ps?

  5. Il punto di Uniq -u e cosa fa??

Qual è la differenza tra Linux e Unix?

Quali sono questi caratteri rettangolari e dove viene definita questa notazione?

Che cos'è un hypervisor? Qual è la differenza tra il tipo 1 e 2?

Qual è la differenza tra ls e l?

Cosa significa la capacità ep?

Qual è la differenza tra unlink e rm?