Skip to content

Which struct do we use for string expression? #2

Open
@gurugio

Description

@gurugio

rust/kernel/str.rs에는 BStr, CStr, CString이 있다.
어느 것을 사용해야할까?
rust코드에서 문자열을 생성하고 커널의 C코드로 넘겨줄 때 어떤 방식을 사용해야하나?
현재 사용하는 방식

  • 커널 코어에 전달할 때는 fmt 객체 생성해서 .as_char_ptr()메소드로 포인터 넘김
  • 드라이버에서 문자열을 저장할 때는 CString으로 보관
fmt!("rust_ldd03{}", i) => fmt::Arguments<'_>타입
CString::try_from_fmt(fmt!("rust_ldd03{}", i)) => CString객체 생성

다른 드라이버나 개발자들은 어떤 방식을 사용하고있나 조사해서 결정할것

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions