1
1
<div align =" center " >
2
2
<h1 >Interface99</h1 >
3
- <a href =" https://github.com/Hirrolot /interface99/actions " >
4
- <img src =" https://github.com/Hirrolot /interface99/workflows/C/C++%20CI/badge.svg " >
3
+ <a href =" https://github.com/hirrolot /interface99/actions " >
4
+ <img src =" https://github.com/hirrolot /interface99/workflows/C/C++%20CI/badge.svg " >
5
5
</a >
6
6
<a href =" https://lists.sr.ht/~hirrolot/metalang99 " >
7
7
<img src =" https://img.shields.io/badge/mailing%20list-lists.sr.ht-orange " >
@@ -172,7 +172,7 @@ perim = 300
172
172
173
173
Interface99 consists of one header file ` interface99.h ` and one dependency [ Metalang99] . To use it in your project, you need to:
174
174
175
- [ Metalang99 ] : https://github.com/Hirrolot /metalang99
175
+ [ Metalang99 ] : https://github.com/hirrolot /metalang99
176
176
177
177
1 . Add ` interface99 ` and ` metalang99/include ` to your include directories.
178
178
2 . Specify [ ` -ftrack-macro-expansion=0 ` ] (GCC) or [ ` -fmacro-backtrace-limit=1 ` ] (Clang) to avoid useless macro expansion errors.
@@ -189,7 +189,7 @@ include(FetchContent)
189
189
190
190
FetchContent_Declare(
191
191
interface99
192
- URL https://github.com/Hirrolot /interface99/archive/refs/tags/v1.2.3.tar.gz # v1.2.3
192
+ URL https://github.com/hirrolot /interface99/archive/refs/tags/v1.2.3.tar.gz # v1.2.3
193
193
)
194
194
195
195
FetchContent_MakeAvailable(interface99)
@@ -204,7 +204,7 @@ elseif(CMAKE_C_COMPILER_ID STREQUAL "GNU")
204
204
endif()
205
205
```
206
206
207
- (By default, ` interface99/CMakeLists.txt ` downloads Metalang99 [ v1.13.2] ( https://github.com/Hirrolot /metalang99/releases/tag/v1.13.2 ) from the GitHub releases; if you want to override this behaviour, you can do so by invoking [ ` FetchContent_Declare ` ] earlier.)
207
+ (By default, ` interface99/CMakeLists.txt ` downloads Metalang99 [ v1.13.2] ( https://github.com/hirrolot /metalang99/releases/tag/v1.13.2 ) from the GitHub releases; if you want to override this behaviour, you can do so by invoking [ ` FetchContent_Declare ` ] earlier.)
208
208
209
209
[ `FetchContent_Declare` ] : https://cmake.org/cmake/help/latest/module/FetchContent.html#command:fetchcontent_declare
210
210
@@ -677,17 +677,17 @@ Thanks to Rust and Golang for their implementations of traits/interfaces.
677
677
2 . Update ` CHANGELOG.md ` .
678
678
3 . Release the project in [ GitHub Releases] .
679
679
680
- [ GitHub Releases ] : https://github.com/Hirrolot /interface99/releases
680
+ [ GitHub Releases ] : https://github.com/hirrolot /interface99/releases
681
681
682
682
## FAQ
683
683
684
684
### Q: Why use C instead of Rust/Zig/whatever else?
685
685
686
- A: See [ Datatype99's README >>] ( https://github.com/Hirrolot /datatype99#q-why-use-c-instead-of-rustzigwhatever-else ) .
686
+ A: See [ Datatype99's README >>] ( https://github.com/hirrolot /datatype99#q-why-use-c-instead-of-rustzigwhatever-else ) .
687
687
688
688
### Q: Why not third-party code generators?
689
689
690
- A: See [ Metalang99's README >>] ( https://github.com/Hirrolot /metalang99#q-why-not-third-party-code-generators ) .
690
+ A: See [ Metalang99's README >>] ( https://github.com/hirrolot /metalang99#q-why-not-third-party-code-generators ) .
691
691
692
692
### Q: How does it work?
693
693
@@ -715,7 +715,7 @@ Other worth-mentioning projects:
715
715
[ `obj.h` ] : https://github.com/small-c/obj.h
716
716
[ GObject ] : https://developer.gnome.org/gobject/stable/
717
717
[ COS ] : http://ldeniau.web.cern.ch/ldeniau/cos.html
718
- [ Datatype99 ] : https://github.com/Hirrolot /datatype99
718
+ [ Datatype99 ] : https://github.com/hirrolot /datatype99
719
719
[ typeclass-interface-pattern ] : https://github.com/TotallyNotChase/typeclass-interface-pattern
720
720
[ OOC ] : https://www.cs.rit.edu/~ats/books/ooc.pdf
721
721
0 commit comments