{"repo":"ab25cq/neo-c","free":true,"listed":false,"github":"https://github.com/ab25cq/neo-c","clone":"git clone https://github.com/ab25cq/neo-c.git","description":"neo-c is C + GC transpiler. It has reffrence count GC with memory leak detector. self-hosted with zero memory leaks. It can output the code depends on standard C libraries only.","language":"C","stars":110,"topics":["c","programming-language","oop","transpiler"],"license":"MIT","category":"self-hosted-apps","readme_excerpt":"neo-c This has Rerfference Count GC, and includes the generics collection libraries. リファレンスカウントGCがありコレクションライブラリを備えてます。 version 1.0.3.30 neo-c supports freestanding 16-bit and 8-bit microcontroller targets through -micro16 and -micro8 . The generated C uses a 16-bit pointer/ int ABI with a 32-bit long ; -micro8 additionally selects smaller heap and formatting buffers for RAM-constrained 8-bit CPUs. AVR, MSP430, and Z80 builds are covered by the minux12 , minux13 , and minux14 execution tests. neo-cは -micro16 と -micro8 により、標準Cライブラリを使わない16bit・8bit マイコンに対応しています。生成Cは16bitポインタ、16bit int 、32bit long のABIを使用し、 -micro8 ではRAMの少ない8bit CPU向けにヒープと 書式化用バッファをさらに縮小します。AVR、MSP430、Z80でのビルドと実行は minux12 、 minux13 、 minux14 でテストできます。 PIC16F877AのようなHarvardアーキテクチャでは、SDCCの汎用ポインタが コード・データなどのアドレス空間を識別するため24bitになります。この場合は 16bitフラットポインタ用の -micro8 ではなく、ターゲット固有コードと 組み合わせる -micro を使用します。 minux15 ではneo-cからPIC用Intel HEXを 生成し、neo-c製PIC16エミュレータで HELLO WORLD を実行します。 Small binaries neo-c generates compact C output and links with section GC/LTO-friendly defaults. On Fedora x86 64, neo-c -bare a.nc builds this Hello World program into a statically linked standalone Linux x86 64 executable of about 5K after strip , without linking libc. neo-cは小さいCコードを生成し、不要な関数をリンク時に落としやすいので実行ファイルが小さくなります。 Fedora x86 64では、 neo-c -bare a.nc でこのHello Worldをビルドすると、libcをリンクしない単体で動くLinux x86 64の静的リンク実行ファイルになり、 strip 後のサイズは約5Kです。 These sizes are measured after strip . 以下は strip 後のサイズです。 source libc link mode stripped size --- --- ---: sma","default_branch":null,"files":null,"tree":[],"storefront":"/r/ab25cq","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ab25cq/neo-c/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}