https://github.com/goplus/libc
Porting libc from C to Go
https://github.com/goplus/libc
c c2go go golang gop goplus libc musl
Last synced: about 1 month ago
JSON representation
Porting libc from C to Go
- Host: GitHub
- URL: https://github.com/goplus/libc
- Owner: goplus
- License: apache-2.0
- Created: 2022-03-31T05:32:35.000Z (about 3 years ago)
- Default Branch: musl-go
- Last Pushed: 2024-04-15T07:01:14.000Z (about 1 year ago)
- Last Synced: 2024-04-20T09:16:03.876Z (about 1 year ago)
- Topics: c, c2go, go, golang, gop, goplus, libc, musl
- Language: Go
- Homepage:
- Size: 6.87 MB
- Stars: 24
- Watchers: 2
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
libc - Porting libc from C to Go
======[](https://github.com/goplus/libc/actions/workflows/go.yml)
[](https://goreportcard.com/report/github.com/goplus/libc)
[](https://github.com/goplus/libc/releases)
[](https://codecov.io/gh/goplus/libc)
[](https://pkg.go.dev/mod/github.com/goplus/libc)
[](https://github.com/goplus/gop)
[](https://github.com/goplus/igop)This is a subproject of [the c2go project](https://github.com/goplus/c2go).
## What's our plan?
- First, port `printf` and its dependent C functions to Go. Stage: `Almost Done`, see [supported C standard libary types/functions/variables](https://github.com/goplus/libc/blob/musl-go/c2go.a.pub).
- Second, support libc in [the Go+ language](https://github.com/goplus/gop). Stage: `Done`, see [how Go+ interacts with C](https://github.com/goplus/gop/tree/main/testdata/helloc2go).
- Third, port musl `libc-test` project to Go. Stage: `Doing`, see [ported test cases](https://github.com/goplus/libc/blob/musl-go/xz_libtest_test.go).
- Fourth, port all `sqlite3` dependent C functions. Stage: `Planning`, see [sqlite3 dependent fuctions](https://github.com/goplus/sqlite/blob/main/c2go_autogen.go).
- Last, support most of C standard library functions and can import them by Go+. Stage: `Planning`.