「ライブラリ」「フレームワーク」「API」「SDK」

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2018/07/04(水) 12:15:40.02ID:svZz0DKH
全部同じなの?
https://monobook.org/wiki/Framework
2018/07/05(木) 00:40:26.56ID:Qp1VFJM+
.NET FrameworkはSDK?
2018/07/05(木) 00:47:16.95ID:YJbjvjoP
>>28
独立して動いているものを呼ぶのは一般にRPCだ
WebAPI想定なんだろうが、WindowsのAPIには単なるライブラリ関数でしかないものも結構ある
APIは呼び出し方の規約であって中身は関係ない
2018/07/06(金) 12:44:34.17ID:qfsO8gqd
SDK!SDK!
2018/07/06(金) 13:42:12.50ID:F9o4Pz4O
>>30
> WindowsのAPIには単なるライブラリ関数でしかないものも結構ある
それお前がAPIとライブラリをごっちゃにしてるだけだろ

例えばWindows APIであれば、C言語からではなく例えばVBなどから呼び出すこともできる
だから特定の言語には依存しない。それがAPIであって他の言語から呼び出せないようなものは
単なるライブラリ関数であってAPIではない
2018/07/06(金) 17:10:33.48ID:hXRi+HHi
他言語向けラッパーを書けばライブラリからAPIに昇格するのか
2018/07/06(金) 18:46:57.36ID:F9o4Pz4O
するわけないだろ。ライブラリはいくら頑張ってもAPIにはなれない
2018/07/06(金) 18:51:18.22ID:F9o4Pz4O
例えば、Windows APIというものがある。
それをある言語から呼び出すための "ライブラリ" を作ったとする。

その場合、"Windows API" は "API" だし、
その "ライブラリ" は、当然 Windows APIを呼び出すための "ライブラリ"
ライブラリは API ではない

また、この場合は、Windows APIであるが、これが何かしらの "ライブラリ" であったとする。
その場合、"ライブラリ" は "ライブラリ" であり、
その "ライブラリを呼び出すためのライブラリ" も、"ライブラリ"
2018/07/06(金) 19:50:40.61ID:dSjMYi7e
>>14
それAPIについては誤解してる
2018/07/06(金) 21:46:46.96ID:TCsDXX8V
>>32
はあ、.dllはなんの略だ?
2018/07/07(土) 15:28:21.86ID:8TH/j15j
>>37
DLLは同一プロセス上で動作する。
一方RPCは他プロセスと通信する仕組み。
2018/07/07(土) 17:00:03.56ID:i11AJyJz
まずWindowsSDKはそもそもC/C++向けにしか提供されていない
ヘッダファイルの中を見ればわかるがインライン関数も結構あるし.libにある関数もある
マクロも一杯あって、全部がWindowsSDKの提供するWindows API

VBがDLLを呼び出す能力があるからといってC向けに用意されたAPIの全部が使えるわけでもない
VC++とABI互換なツールチェインを用いる処理系なら.libもリンクして使えるが
ヘッダにしか無いインライン関数やマクロはC/C++と文法互換な言語(Objective-C等)からしか使えない
こんなのは単に各処理系のFFI機能経由で使える使えないの話で、あくまでSDKはC/C++用

Javaのライブラリの定義もJava APIと呼ばれているし
もっと言えばWeb APIだってソケットにアクセスできない処理系からは使えんし

つまりAPIの定義の話とどの処理系から使えるかは別の話で
APIだからといって言語から独立していなきゃならないなんてことはない
40デフォルトの名無しさん
垢版 |
2018/07/07(土) 17:50:03.02ID:rLNXLDeE
全部違うぞ
2018/07/07(土) 18:06:09.50ID:8TH/j15j
>>39
Windows APIをVBから呼び出すための定義ファイルがSDKに含まれてた時期もあった気がするが、まあそれはいいとして。

まず、Windows APIを提供しているのはWindowsというOS自体であってSDKではない。ここ重要。

Windows SDKはOSのAPIをC言語等から呼び出すための支援ツールや定義をまとめたキットなのであれば便利だが、APIの仕様さえ分かればSDKなしでもAPIを呼び出すことも原理的には可能だ。
2018/07/07(土) 18:53:54.86ID:LxSGsocZ
インライン関数やマクロをWindows APIって言うのは違和感しかない
2018/07/07(土) 18:56:21.27ID:kQbc54yB
インライン関数やマクロはWindows APIには含まれないよ
2018/07/07(土) 19:43:01.67ID:i11AJyJz
感覚的にはそうなんだろうが、GetCurrentFiberやExの付かないCreateWindowだってマクロだからな?
Interlocked系関数もインライン関数、ライブラリ実装とVC++のintrinsicが混じってて.dllには行かない
2018/07/07(土) 20:22:08.26ID:ssl663eK
>>44
いつからCreateWindowがAPIだと勘違いした?
2018/07/07(土) 20:54:21.63ID:8TH/j15j
ああそうか。
真のAPIはCreateWindowWとかなんだな。
SDKやコンパイラが薄いラッパーや代替実装を用意して、そっちをAPIと称してる感じ。
2018/07/07(土) 21:59:36.46ID:i11AJyJz
>>46
CreateWindowWもマクロだ
user32.dllがエクスポートしているのはCreateWindowExA/Wだぞ

Windows APIにはこんな感じで元はDLLや.libにあったものが
いつの間にかマクロやインライン関数になった例もちょこちょこある
2018/07/07(土) 22:19:01.26ID:8TH/j15j
>>47
あらら、ほんといつの間にだな。
ただOS側には古いAPIの口も残ってるはず。
そうでないと古いWindows SDKで作ったプログラムが動かなくなる。
MS次第ではあるが。
2018/07/09(月) 19:16:44.58ID:sTrx1a4j
パッケージ
2018/07/09(月) 22:49:40.76ID:rStS+x4i
アホみたいに分類しようとするからおかしいだよ。
全部モジュールなんだよ

そんなんだからプログラミング教育が進まないんだよ。
本物のプログラマならいかに簡略化するかだけ考えろ。

その無駄な労力を実用的なビジネスロジック開発に注ぎ込めよ。
2018/07/09(月) 22:54:43.03ID:rStS+x4i
結局のところ、全部「モジュール」だったCOBOLを否定して新しさを演出するためだけに作られた言葉たちなんだよ。
それによりアホに新しいシステムが売れるんだよ。
めぼしい機能を一通り実装したら定期的にプラットフォームを移行させて稼ぐしかなくなるからね。
2018/07/09(月) 22:55:57.94ID:rStS+x4i
最近だと「WindowsリッチクライアントをWebアプリ化しませんか」とかね。
2018/07/10(火) 06:58:35.49ID:j/SSeYu6
>>51
C言語ライブラリの個々のファイルはモジュールっていうしなー
それぞれの流儀だべ結局は
2018/07/10(火) 07:17:23.04ID:zokwGzp/
アメリカ人にとってはくだらない話題に見えるんだろうな。
ライブラリ=書庫 みたいに捉えてるんだからな。

書庫
汎用書庫
共通書庫
オブジェクト書庫
クラス書庫
モジュール書庫

ライブラリと聞いたら、あぁ書庫ね。集めて置くところね
ぐらいにしか思わない。何も迷わないんだろうな
2018/07/10(火) 14:22:57.93ID:nhRVi4l7
クレート
2018/07/10(火) 20:28:02.72ID:+1hBbxsM
麻原書庫
2018/07/25(水) 17:44:57.62ID:1JRcw+07
修行するぞ修行するぞ修行するぞ
2018/08/07(火) 13:55:48.87ID:E95E4jzz
アーカイブ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況