`lib_name` — 이 소스(Zig 매뉴얼)에는 존재하지 않는 섹션
lib_name — 이 소스(Zig 매뉴얼)에는 존재하지 않는 섹션
이번 섹션은 조금 특별한 경우를 먼저 분명히 짚고 시작할게요. 로컬 소스 zig_manual.html(Zig 문서 master 본)을 바이트 단위로 살펴보면, lib_name이라는 id를 가진 헤딩도, 그 밖에 lib_name이라는 문자열 자체도 존재하지 않아요. 다시 말해 이 문서에서 lib_name은 어떤 섹션이나 내장 함수, 키워드로도 정의되어 있지 않습니다.
본문
lib_name이 Zig의 어느 부분에도 없다는 말은, 이 용어 자체가 Zig 문법·내장 함수·키워드 목록 어디에도 등장하지 않는다는 뜻이에요. 실제 Zig 키워드 참조 표(Keyword Reference)에 나오는 키워드는 46개인데(예: addrspace, align, comptime, extern, noalias, pub, volatile…), 그 사이에 lib_name은 없어요. 내장 함수(Builtin Functions) 목록에도, 헤딩 목록에도 없습니다.
이 이름이 실제로 무엇을 가리키려 했는지 짐작해 보면, Zig에서 이름이 붙은 라이브러리(library) 개념에 가장 가깝다고 볼 수 있어요. 다만 Zig 언어 자체에는 "함수에 라이브러리 이름을 지정하는 키워드"가 따로 없어요. 실제로는 C와 연동할 때 extern 함수 선언과 호출 규약(call convention)으로 대상 라이브러리를 염두에 두는데, 문서의 extern 내장 함수 예제 주석에 이런 설명이 나오기는 합니다.
// The link name is what is used to refer to the symbol
// ... the library that has the function. (e.g. "c" -> libc.so)
즉 lib_name은 Zig 문서가 실제로 제공하는 섹션 이름이 아니라, 배치(batch) 작업에서 매핑이 어긋나 생긴 id로 보여요. 내용을 실증적으로 확인할 수 없기 때문에, 저는 존재하지 않는 API나 문법을 지어내지 않고 이 사실을 있는 그대로 기록합니다.
더 알아보기 (Learn more)
noalias(이름상의 다음 섹션) — 실제로는 Zig 키워드 참조 표의 항목이며, 전용 문단은 없습니다. 동일 시리즈의zig-195-noalias.md를 함께 보시면 됩니다.extern— C 라이브러리 함수 선언과 호출 규약을 다루는 실제 내장 함수 섹션으로, 문서의#extern헤딩을 참고하세요.- Zig 키워드 전체 목록은 문서의 "Keyword Reference" 섹션에 있습니다.
검증 메모: 로컬 소스 zig_manual.html 전체에서 lib_name 문자열이 0회, id="lib_name" 헤딩 0회입니다. 매니페스트(zig_manifest.json)의 194번 챕터도 @unionInit으로, lib_name과 일치하지 않습니다. 이 파일은 이 사실을 바탕으로 작성되었으며 기술적 내용은 지어내지 않았습니다.