| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
- corrosion
- ROS
- remapping
- mock
- Turtlesim
- convex
- roslaunch
- 비동기적
- separating axis theorem(sat)
- vscode
- subsribe
- UV
- narrow-phase
- plotjuggler
- gjk-epa
- C++
- 워크스페이스
- CONSTRAINTS
- rust
- Cargo
- Topic
- CMAKE
- cbindgen
- generic pointer
- rospy.spin
- gradient accumulation
- gjk
- broad-phase
- 데이터분석
- unittest
- Today
- Total
목록cbindgen (2)
똑바른 날개
이 글에서는 cbindgen과 Corrosion을 활용해 Rust와 C++를 매끄럽게 통합하는 워크플로우를 소개한다. 앞서 다루었던 cbindgen -> corrision -> 통합 과정으로 설명을 진행한다.cbindgen이란?cbindgen은 Rust 라이브러리의 public C API를 분석해 자동으로 C 또는 C++11 헤더 파일을 생성하는 도구이다. Rust 팀과 협력해 개발된 만큼 Rust의 타입 레이아웃과 ABI를 정확히 보장한다.설치 및 사용법cargo install --force cbindgencbindgen --config cbindgen.toml --crate my_rust_library --output my_header.h참고자료 : https://upright-wing.tistory..
Rust는 안전성과 성능을 동시에 추구하는 언어이지만, 현실적인 소프트웨어 개발에서는 여전히 C/C++과의 상호운용이 필수적이다. 특히 기존 C++ 기반 시스템에 Rust 라이브러리를 통합하거나, Rust로 작성한 핵심 모듈을 C API 형태로 외부에 제공해야 하는 경우가 많다. 이때 수작업으로 헤더 파일을 작성하는 것은 단순하면서도 오류 가능성이 큰 작업이다. 여기서 등장하는 도구가 바로 cbindgen이다.cbindgen이란?cbindgen은 Rust 라이브러리의 public C API를 분석해 자동으로 C 또는 C++11 헤더 파일을 생성해주는 도구이다.핵심 아이디어는 단순하다. “Rust 코드에서 선언한 함수, 구조체, enum 등을 기반으로 기계적으로 C/C++에 맞는 선언을 만들어주자.” 이를..