01/10/2018, 10:24

Nhờ giải thích giúp code C

Không biết cái _init_exit đó là gì, ai biết chỉ mình với ạ . Thanks.

Khoa NTA viết 12:28 ngày 01/10/2018

Nó ở đây, nhưng bạn có đủ sức đọc hay không? link: http://blog.techveda.org/kernel__initcalls/

Hiểu một cách đơn giản, các __init__exit là macros (kiểu là GCC attributes), nó thông báo cho compiler đặt code của các hàm sau khi compile vào trong section tương ứng: .init.text.exit.text

// Source code cho người lười click.
#define __init __section(.init.text) __cold
#define __section(S) __attribute__((__section__(#S))) 
#define __cold __attribute__((cold))
// __exit cũng tương tự.

Keywords để dễ hiểu:

  • gcc x86 function attributes
  • gcc macro concatenation
  • gcc macro stringify

P/s: search trên Gu gồ, ráng chịu khó đọc tiếng Anh, bạn sẽ hiểu được một ít code trong hình Chúc bạn thành công.

Nguyen Trong Dung viết 12:29 ngày 01/10/2018

thanks sir

20 character

Bài liên quan
0