GNU/Linux >> Znalost Linux >  >> Linux

co dělá funkce slabý_alias a kde je definována

z 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)));

O slabém symbolu:

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


Je to makro, které dělá následující:

Deklaruje slabou funkci, pokud jste nezadali silný název symbolu pro tuto funkci, zavolá funkci, ke které jste ji přiřadili. například

int _foo(){ return 1;}

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

Takže pokud jste neposkytli skutečnou implementaci pro foo, bude v podstatě používat _foo a vrátí 1.


Linux
  1. Co dělá `–frontend` při `do-release-upgrade` a kde najdu seznam možných hodnot?

  2. Co znamená tečka před názvem proměnné ve struct?

  3. Jaké je rozhraní pro systémová volání ARM a kde je definováno v jádře Linuxu?

  1. Co je Makefile a jak funguje?

  2. Co znamená schopnost ep?

  3. Jaký je rozdíl mezi unlink a rm?

  1. Jaký je rozdíl mezi InnoDB a MyISAM?

  2. Co je webový server a jak webový server funguje?

  3. Co znamená Env X=() { :;}; Command‘ Bash dělat a proč je to nejisté?