sogen

(β˜… 3,538)

πŸͺ… Windows & Linux userspace emulator

  • .clang-format
  • .clang-format-ignore
  • .clang-tidy
  • .gitignore
  • .gitmodules
  • AGENTS.md
  • CLAUDE.md
  • CMakeLists.txt
  • CMakePresets.json
  • LICENSE
  • MANIFEST.in
  • pyproject.toml
  • README.md

πŸš€ μ„€μΉ˜ κ°€μ΄λ“œ

1. μ½”λ“œ λ‚΄λ €λ°›κΈ°
git clone https://github.com/momo5502/sogen

κΉƒν—ˆλΈŒμ—μ„œ ν”„λ‘œμ νŠΈ μ½”λ“œ 전체λ₯Ό λ‚΄ μ»΄ν“¨ν„°λ‘œ λ‚΄λ €λ°›μŠ΅λ‹ˆλ‹€.

cd sogen

방금 내렀받은 ν”„λ‘œμ νŠΈ 폴더 μ•ˆμœΌλ‘œ μ΄λ™ν•©λ‹ˆλ‹€.

2. 곡식 μ„€μΉ˜ 슀크립트

쉬움 μΆ”μ²œ
사전 μ€€λΉ„λ¬Ό
  • Python 3 pip λͺ…λ Ήμ–΄λ₯Ό μ“°λ €λ©΄ Python이 ν•„μš”ν•©λ‹ˆλ‹€.
pip install sogen

PyPI에 배포된 νŒ¨ν‚€μ§€λ₯Ό λ°”λ‘œ μ„€μΉ˜ν•©λ‹ˆλ‹€. μ†ŒμŠ€ 클둠이 ν•„μš” μ—†μŠ΅λ‹ˆλ‹€.

βœ… μ„€μΉ˜ ν›„ μƒˆ 터미널을 μ—΄κ³ , ν”„λ‘œκ·Έλž¨μ˜ 버전 확인 λͺ…λ Ή(예: --version)으둜 정상 μ„€μΉ˜λλŠ”μ§€ ν™•μΈν•˜μ„Έμš”.

이 레포의 README에 적힌 μ‹€μ œ λͺ…λ Ήμ–΄λ₯Ό κ·ΈλŒ€λ‘œ κ°€μ Έμ™”μŠ΅λ‹ˆλ‹€.

3. CMake

보톡
사전 μ€€λΉ„λ¬Ό
  • Git GitHubμ—μ„œ ν”„λ‘œμ νŠΈ μ½”λ“œλ₯Ό λ‚΄λ €λ°›μœΌλ €λ©΄ ν•„μš”ν•©λ‹ˆλ‹€.
  • CMake λΉŒλ“œ 섀정을 μƒμ„±ν•˜λŠ” λ„κ΅¬μž…λ‹ˆλ‹€.
  • C/C++ 컴파일러 WindowsλŠ” Visual Studio(Community 무료), macOSλŠ” Xcode Command Line Tools, LinuxλŠ” gcc/g++ νŒ¨ν‚€μ§€κ°€ ν•„μš”ν•©λ‹ˆλ‹€.
cmake --preset=vs2022

이 λͺ…λ Ήμ–΄λ₯Ό 터미널에 κ·ΈλŒ€λ‘œ μž…λ ₯ν•΄ μ‹€ν–‰ν•˜μ„Έμš”.

βœ… build 폴더 μ•ˆμ— μ‹€ν–‰ 파일이 μƒμ„±λλŠ”μ§€ ν™•μΈν•˜κ³ , 직접 μ‹€ν–‰ν•΄λ³΄μ„Έμš” (예: ./build/앱이름).

이 레포의 README에 적힌 μ‹€μ œ λͺ…λ Ήμ–΄λ₯Ό κ·ΈλŒ€λ‘œ κ°€μ Έμ™”μŠ΅λ‹ˆλ‹€.

4. Node.js

쉬움
사전 μ€€λΉ„λ¬Ό
  • Git GitHubμ—μ„œ ν”„λ‘œμ νŠΈ μ½”λ“œλ₯Ό λ‚΄λ €λ°›μœΌλ €λ©΄ ν•„μš”ν•©λ‹ˆλ‹€.
  • Node.js npm λͺ…λ Ήμ–΄λ₯Ό μ“°λ €λ©΄ Node.jsκ°€ μ„€μΉ˜λ˜μ–΄ μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€. LTS(μž₯기지원) 버전을 μΆ”μ²œν•©λ‹ˆλ‹€.
cd page

이 ν”„λ‘œμ νŠΈμ˜ κ΄€λ ¨ 파일이 ν•˜μœ„ 폴더 μ•ˆμ— μžˆμ–΄μ„œ, λ¨Όμ € κ·Έ ν΄λ”λ‘œ μ΄λ™ν•©λ‹ˆλ‹€.

npm install

package.json에 λͺ…μ‹œλœ λΌμ΄λΈŒλŸ¬λ¦¬λ“€μ„ λ‚΄λ €λ°›μ•„ μ„€μΉ˜ν•©λ‹ˆλ‹€.

npm start

개발/μ‹€ν–‰ μ„œλ²„λ₯Ό μΌ­λ‹ˆλ‹€.

βœ… λͺ…λ Ήμ–΄ μ‹€ν–‰ ν›„ 터미널에 λ‚˜νƒ€λ‚˜λŠ” μ£Όμ†Œ(보톡 http://localhost:3000 ν˜•νƒœ)λ₯Ό λΈŒλΌμš°μ €μ—μ„œ μ—΄μ–΄λ³΄μ„Έμš”.

5. Python

쉬움
사전 μ€€λΉ„λ¬Ό
  • Git GitHubμ—μ„œ ν”„λ‘œμ νŠΈ μ½”λ“œλ₯Ό λ‚΄λ €λ°›μœΌλ €λ©΄ ν•„μš”ν•©λ‹ˆλ‹€.
  • Python 3 μ„€μΉ˜ μ‹œ 'Add Python to PATH' μ˜΅μ…˜μ„ κΌ­ μ²΄ν¬ν•˜μ„Έμš” (Windows).
pip install sogen

PyPI에 배포된 νŒ¨ν‚€μ§€λ₯Ό λ°”λ‘œ μ„€μΉ˜ν•©λ‹ˆλ‹€. μ†ŒμŠ€ 클둠이 ν•„μš” μ—†μŠ΅λ‹ˆλ‹€.

βœ… μ—λŸ¬ λ©”μ‹œμ§€ 없이 μ‹€ν–‰λ˜κ³  터미널에 μ•ˆλ‚΄ 문ꡬ가 좜λ ₯되면 μ •μƒμž…λ‹ˆλ‹€.

이 레포의 README에 적힌 μ‹€μ œ λͺ…λ Ήμ–΄λ₯Ό κ·ΈλŒ€λ‘œ κ°€μ Έμ™”μŠ΅λ‹ˆλ‹€.

6. Rust

보톡
사전 μ€€λΉ„λ¬Ό
  • Git GitHubμ—μ„œ ν”„λ‘œμ νŠΈ μ½”λ“œλ₯Ό λ‚΄λ €λ°›μœΌλ €λ©΄ ν•„μš”ν•©λ‹ˆλ‹€.
  • Rust (rustup) rustup으둜 μ„€μΉ˜ν•˜λ©΄ cargo도 ν•¨κ»˜ μ„€μΉ˜λ©λ‹ˆλ‹€.
cd src/backends/icicle-emulator/icicle-bridge

이 ν”„λ‘œμ νŠΈμ˜ κ΄€λ ¨ 파일이 ν•˜μœ„ 폴더 μ•ˆμ— μžˆμ–΄μ„œ, λ¨Όμ € κ·Έ ν΄λ”λ‘œ μ΄λ™ν•©λ‹ˆλ‹€.

cargo build --release

Rust ν”„λ‘œμ νŠΈλ₯Ό μ»΄νŒŒμΌν•©λ‹ˆλ‹€.

cargo run

λΉŒλ“œ ν›„ λ°”λ‘œ μ‹€ν–‰κΉŒμ§€ μ§„ν–‰ν•©λ‹ˆλ‹€.

βœ… cargo buildκ°€ μ—λŸ¬ 없이 λλ‚˜λ©΄ μ„±κ³΅μž…λ‹ˆλ‹€. target/ 폴더에 μ‹€ν–‰ 파일이 μƒμ„±λ©λ‹ˆλ‹€.
// repository documentation