따라서 Linux 커널에서는 /kernel/fork.c에 다음 함수의 메소드 서명이 있습니다.
static __latent_entropy struct task_struct *copy_process(
struct pid *pid,
int trace,
int node,
struct kernel_clone_args *args)
이 함수를 수정하기 위해 __latent_entropy "속성"(또는 그것이 무엇입니까?)을 사용할 수 있는 C 언어 기능은 무엇입니까?
Latent_entropy가 무엇을 하는지 구체적으로 물어볼 필요는 없습니다. Google에서 검색한 결과 C 메서드 서명 구문이 더 궁금하기 때문입니다. Latent_entropy와 같은 메서드 서명에 추가 플래그를 추가할 수 있다는 것을 몰랐습니다. 이것은 어떤 유형의 언어 기능인가요?/이 기능을 더 잘 이해하려면 Google에서 무엇을 검색할 수 있나요?
감사해요.
답변1
이것은 매크로이며 기본적으로아무것도 아닌 것으로 대체:
#ifndef __latent_entropy
# define __latent_entropy
#endif
GCC의 경우 경우에 따라그것은 재산이 된다:
#if defined(LATENT_ENTROPY_PLUGIN) && !defined(__CHECKER__)
#define __latent_entropy __attribute__((latent_entropy))
#endif
이것은 GCC에서 사용됩니다엔트로피 플러그인.