안녕하세요, 저는 시스템 호출 vfork()가 Linux 커널 소스의 fork.c에서 호출 된 횟수를 계산할 카운터를 만들려고합니다. 나는 total_forks가 어떻게 구현되는지에 따라 다음과 같이 설명한다. Total_forks는 sched.h에 정의됩니다. 하지만 어디로 0으로 초기화되어 찾을 수 없습니다.forks.c의 total_forks 초기화 위치는 어디입니까?
2
A
답변
4
난 당신이 리눅스 커널에 대해 얘기 같은데요, 변수 는 sched.h
에을 선언 는here을 정의했다. 전역 변수 (파일 범위에 정의되어 있으며 static
이 아닌)입니다. 이것은 암시 적으로 0으로 초기화됩니다.
#include <stdio.h>
int var;
int main(int argc, char* argv[]) {
printf("var is %d\n", var);
return 0;
}
0
난 당신이보고있는 소스에 익숙 해요,하지만 마음에 몇 가지 생각 스프링 : 당신이 자신의 코드에서 이것을 시도 init
가 시작될 때
은 1로 초기화 할 수있다.
BSS 세그먼트에 있기 때문에 0으로 초기화 될 수 있습니다. 런타임 시스템은 변수에 대한 메모리 일부를 초기화하는 것을 알고 있으며, 초기 부팅시 '메인'커널 프로세스에 제공하기 전에이를 모두 지 웁니다.
관련 문제
- 1. NSMutableArray를 초기화하는 위치는 어디입니까?
- 2. 누출 위치는 어디입니까?
- 3. 누출 위치는 어디입니까?
- 4. iPhone의 글꼴 위치는 어디입니까?
- 5. 누출 위치는 어디입니까?
- 6. UDK AnimatedCamera의 위치는 어디입니까?
- 7. 캔버스에있는 도형의 위치는 어디입니까?
- 8. DB.php의 위치는 어디입니까?
- 9. 누출 위치는 어디입니까?
- 10. corba 구현 위치는 어디입니까?
- 11. 데이터를 초기화해야하는 위치는 어디입니까?
- 12. com.opensymphony.workflow.loader.SpringWorkflowFactory의 위치는 어디입니까?
- 13. 데이터를 저장할 위치는 어디입니까?
- 14. CodeGenerationTools의 위치는 어디입니까
- 15. EmbeddedViewEngine 등록 위치는 어디입니까?
- 16. 런타임에 암호를 저장할 위치는 어디입니까?
- 17. ActiveModel :: Validator를 넣을 위치는 어디입니까?
- 18. jQuery 메시지를 넣을 위치는 어디입니까?
- 19. 메모리에서 vtable이 저장되는 위치는 어디입니까?
- 20. griffon에 log4j.properties를 넣을 위치는 어디입니까?
- 21. 세션 인스턴스를 만들 위치는 어디입니까?
- 22. 사용자 파일을 저장할 위치는 어디입니까?
- 23. 인터페이스를 선언 할 위치는 어디입니까?
- 24. MVC : 뷰를로드 할 위치는 어디입니까?
- 25. 레이아웃에서 리소스를 읽는 위치는 어디입니까?
- 26. 헬퍼 함수를 저장할 위치는 어디입니까?
- 27. 이 코드의 누수 위치는 어디입니까?
- 28. 시스템 플래그를 저장할 위치는 어디입니까?
- 29. 프로젝트 파일을 넣을 위치는 어디입니까?
- 30. WiFi 암호 : 저장 위치는 어디입니까?