GNU/Linux >> Belajar Linux >  >> Linux

apa yang dilakukan fungsi weak_alias dan di mana itu didefinisikan

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

Tentang simbol lemah:

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


Ini adalah makro yang melakukan hal berikut:

Ini mendeklarasikan fungsi yang lemah, jika Anda tidak memberikan nama simbol yang kuat untuk fungsi itu, ia akan memanggil fungsi yang telah Anda gunakan. misalnya

int _foo(){ return 1;}

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

Jadi, jika Anda belum memberikan implementasi yang sebenarnya untuk foo, pada dasarnya akan menggunakan _foo dan mengembalikan 1.


Linux
  1. Apa itu Makefile dan bagaimana cara kerjanya?

  2. Apa perbedaan antara InnoDB dan MyISAM?

  3. Apa itu Server Web, dan Bagaimana Cara Kerja Server Web?

  1. Apa Artinya Dalam Keluaran Dari Ps?

  2. Apa antarmuka untuk panggilan sistem ARM dan di mana itu didefinisikan dalam kernel Linux?

  3. Apa yang dilakukan izin eksekusi?

  1. Apa Env X=() { :;}; Command' Bash Do Dan Mengapa Tidak Aman?

  2. Inti dari Uniq -u Dan Apa Fungsinya??

  3. Apa perbedaan antara ls dan l?