ページへ戻る

− Links

 印刷 

28GO​/ライブラリ のバックアップソース(No.2) :: OSASK計画

osaskwiki:28GO/ライブラリ のバックアップソース(No.2)

« Prev[4]  Next »[5]
*説明 [#ta237acf]
28GO、GOは開発環境なので、当然ライブラリを持っています。複数ありますが各々用途によって分けています。

:golibc.lib|基本、システムやOSに依存しない関数のみを集めています。(しいて言えばx86型CPUのみに依存する関数)

:w32clibc.lib|Windowsのみに依存するもの達

:gg00libc.lib|「guigui00仕様」に依存する関数達。(平たく言うと第一世代OSASK用の関数)

:gg01libc.lib|「guigui01仕様」に依存する関数達。(平たく言えばefg01に依存する関数)

:mingwlibc.lib|MinGW郡の「w32apiパッケージ」から摘出したものです。本来はw32clibcに含まれる位置づけですが、ライセンス防衛等の理由からあえて分かれています。(当然、Windowsに依存する関数郡ということになります)


28GO、GOのライブラリは基本、''ANSI Cの仕様に準拠する気はない''という作りになっています。どうせ独自仕様のAPIやOSを駆使するものなのですから、無理にANSIに準拠して設計等が制限されるのも意味がないことですしね。~
COLOR(blue){もちろん、''別物にするのが目的''ではありません。似せたり準拠しても問題ないものは不必要に独自にせず、ANSIの仕様を参考にして実装しています}

*ANSI C 対応表 [#wab7876a]
-COLOR(red){但し完全にANSI Cの定義と同じ動作をするとは限らない}
-OS、システムに依存しないものはgolibc内のものをコールしているので、基本的にはgolibc.lib内にあるものはみな他のOS、システムからも使用できる

**stdio.h [#f168ad6b]
|ANSI C| golibc.lib|gg00libc|gg01libc|w32libc|h
|fopen | | | |○|
|fclose| | | |○|
|fgetc| | | |○|
|getc| | | |○|
|fgets| | | |○|
|fputc| | | |○|
|putc| | | | |
|fputs| | | |○|
|fread| | | |○|
|fwrite| | | |○|
|fprintf| | | |○|
|fscanf| | | | |
|ftell| | | |○|
|fseek| | | |○|
|fgetpos| | | | |
|fsetpos| | | | |
|feof| | | |○|
|ferror| | | | |
|clearerr| | | | |
|fflush| | | |○|
|freopen| | | | |
|rename| | | | |
|remove| | | |○|
|getchar| | | |○|
|putchar| | | |○|
|gets| | | |○|
|puts| | | |○|
|perror| | | | |
|printf| | | |○|
|scanf| | | | |
|sprintf|○|○|○| |
|※vfprintf| | | |○|
|※vprintf| | | |○|
|※clearerr| | | |○|
|※rewind| | | |○|
|※ungetc| | | |○|



**stdlib.h [#zc82e0f9]
|ANSI C| golibc.lib|gg00libc|gg01libc|w32libc|h
|malloc| |○|○|○|
|calloc| | | | |
|realloc| | | | |
|free| |○|○|○|
|abs|○|○|○|○|
|labs| | | | |
|atof|○|○|○|○|
|atoi|○|○|○|○|
|atol| | | | |
|strtod| |○|○|○|
|strtol|○|○|○|○|
|strtoul|○|○|○|○|
|※strtoul0|○| | | |
|div| | | | |
|ldiv| | | | |
|rand|○|○|○|○|
|srand| | | | |
|exit| | | |○|
|abort| | | |○|
|atexit| | | | |
|getenv| | | | |
|bsearch| | | | |
|qsort|○|○|○|○|
|system| | | |○|
|※errno|○| | | |



**ctype.h [#v618fb45]
|ANSI C| golibc.lib|gg00libc|gg01libc|w32libc|h
|isalpha| | | | |
|isupper| | | | |
|islower| | | | |
|isdigit| | | | |
|isspace| | | | |
|isalnum| | | | |
|iscntrl| | | | |
|isgraph| | | | |
|isprint| | | | |
|ispunct| | | | |
|isxdigit| | | | |

**string.h [#l4539655]
|ANSI C| golibc.lib|gg00libc|gg01libc|w32libc|h
|strcpy|○|○|○|○|
|strncpy|○|○|○|○|
|strcat|○|○|○|○|
|strncat|○|○|○|○|
|strlen|○|○|○|○|
|strcmp|○|○|○|○|
|strncmp|○|○|○|○|
|strchr|○|○|○|○|
|strrchr|○|○|○|○|
|strcspn|○|○|○|○|
|strspn|○|○|○|○|
|strpbrk|○|○|○|○|
|strstr|○|○|○|○|
|strtok| | | | |
|strerror| | | | |
|memcpy|○|○|○|○|
|memmove|○|○|○|○|
|memset|○|○|○|○|
|memcmp|○|○|○|○|
|memchr|○|○|○|○|
|※strdup|○|○|○|○|

**math.h [#f2df8995]
|ANSI C| golibc.lib|gg00libc|gg01libc|w32libc|h
|fabs| | | | |
|sqrt| |○|○|○|
|pow| | | | |
|fmod| | | | |
|sin| |○|○|○|
|cos| |○|○|○|
|tan| | | | |
|acos| | | | |
|asin| | | | |
|atan| | | | |
|atan2| | | | |
|sinh| | | | |
|cosh| | | | |
|tanh| | | | |
|ceil| | | | |
|floor| | | | |
|exp| | | | |
|log| | | | |
|log10| | | | |
|modf| | | | |
|frexp|○|○|○|○|
|ldexp|○|○|○|○|


**time.h [#l026f3f5]
|ANSI C| golibc.lib|gg00libc|gg01libc|w32libc|h
|time| | | | |
|clock| | | | |
|difftime| | | | |
|localtime| | | | |
|gmtime| | | | |
|asctime| | | | |
|ctime| | | | |
|strftime| | | | |

**stdarg.h [#bca49d3a]
|ANSI C| golibc.lib|gg00libc|gg01libc|w32libc|h
|vsprintf|○|○|○| |

**setjmp.h [#sbefd177]
|ANSI C| golibc.lib|gg00libc|gg01libc|w32libc|h
|setjmp| |○|○|○|
|longjmp| |○|○|○|


« Prev[4]  Next »[5]