*説明 [#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| |○|○|○|
(This host) = http://osask.net