質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

2回答

6581閲覧

POSIXの規格というのはC言語に限定された話でしょうか?

strike1217

総合スコア651

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

1クリップ

投稿2016/11/16 01:57

「POSIXはシステムコールとライブラリ関数を規定したもの」とwikiには書いてあります。

このシステムコールやライブラリというのはC言語に限っての話ですか?

ハードウェアやOSが異なっても、.#include <stdio.h>......int main ()...... という風にプログラミングできるのはPOSIXのおかげという理解でよろしいのでしょうか?

例えば、他の言語である、java, pythonなどの言語もPOSIXのAPIに則って作られているのですか?

どなたか、教えてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

「POSIXはシステムコールとライブラリ関数を規定したもの」とwikiには書いてあります。
このシステムコールやライブラリというのはC言語に限っての話ですか?

いいえ、それ以外も含みます。POSIX規格(同時にIEEE 1003.1およびThe Open Group Technical Standard Base Specificationsでもある)は下記を定義します。

  • C言語インターフェイスのAPI(関数、マクロ定義など)
  • コマンドライン・インターフェイス(CLI)のユーティリティ
  • シェルコマンド言語
  • 環境変数
  • 正規表現
  • ディレクトリ構造
  • (ほか)

ハードウェアやOSが異なっても、.#include <stdio.h>......int main ()...... という風にプログラミングできるのはPOSIXのおかげという理解でよろしいのでしょうか?

その表現だと理解が微妙に思えます。#include <stdio.h>int main()...を定義しているのは「プログラミング言語Cの仕様」です。

例えば、他の言語である、java, pythonなどの言語もPOSIXのAPIに則って作られているのですか?

それぞれのプログラミング言語の仕様と、POSIXの間に直接的な関係はありません。ただし、それぞれのプログラミング言語の処理系(コンパイラ、インタプリタ、仮想マシン)は、POSIXが定めるAPIを利用して実装されてはいます。

投稿2016/11/16 02:28

yohhoy

総合スコア6191

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

strike1217

2016/11/16 02:32

各言語が利用するコンパイラ、インタプリタ、仮想マシンはPOSIXが定めるAPIを利用しているんですね! ありがとうございます。 わかりやすいです!
yohhoy

2016/11/16 02:36

> 各言語が利用するコンパイラ、インタプリタ、仮想マシンはPOSIXが定めるAPIを利用しているんですね! 少しだけ誤解がありそうなので補足を。ここで言っているのは「POSIX準拠環境で動くプログラムでは、POSIXが定めるAPIを利用して実装される/使わなことには目的を達成できない」という程度の意味合いです。 (余談ですが"Wiki"=Wikipediaの事でしょうかね?USBメモリをUSBと略すのと似た違和感が...)
guest

0

ベストアンサー

Wiki には、

規格の内容はカーネルへのC言語のインタフェースであるシステムコールに留まらず、プロセス環境、ファイルとディレクトリ、システムデータベース(パスワードファイルなど)、アーカイブフォーマットなど多岐にわたる。単に POSIX といった場合は、システムコールとライブラリ関数を規定した POSIX.1 (IEEE Std 1003.1) を指すことがある。

と書かれており、私の知ってる範囲でも UNIX 系のコマンドのインタフェース仕様に POSIX 準拠というのがありました。つまり、シェルスクリプトでも POSIX 準拠の環境上で動作するように作ることは可能です。

例えば、他の言語である、java, pythonなどの言語もPOSIXのAPIに則って作られているのですか?

上記のとおり、言語の仕様ではなく、システムコールとライブラリの仕様ですが、仕様の書き方の問題で C 言語から呼び出す場合のことしか規定されていないと思います。

Wiki からはリンクされてませんが、The Open Group Base Specifications Issue 7が新しそうです。これの Introduction - Scope のところに書かれているのが規定範囲ではないでしょうか。つまり、C言語とシェルスクリプトですかね。

投稿2016/11/16 02:16

mit0223

総合スコア3401

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

strike1217

2016/11/16 02:22

なるほど! 「including a command interpreter (or "shell"), and common utility programs to support applications portability at the source code level」と書いてありますね! C言語とシェルスクリプトなんですね! ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問