• 締切済み
  • すぐに回答を!

用語の違い教えてください

win32apiというのはプログラム言語なのでしょうか?(C言語とかと同格なのか?) あとwin32api と SDK の用語の違いを教えていただけないでしょうか? WIN32APIにより作ったプログラムがSDK(マルチウィンドウではないときに限る)という意味ですか?

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数148
  • ありがとう数1

みんなの回答

  • 回答No.3

略語の正式名称を理解すれば、意味もわかってくるかと思います。 Win32api:ウィンドウズ32ビット・アプリケーション・プログラミング・インターフェイス SDK:ソフトウェア・デベロップメント・キット (=ソフト開発環境) Win32APIはWindows用の関数群です。 Windows用アプリケーションを書くときは、一般的に 「標準関数」と「Win32API」の両方を使います。 例: 文字列の長さを取得する strlen() は標準関数 Windowsのバージョンを取得する GetVersionEx() はWin32API C言語の言語仕様にstrlenは含まれますが、 GetVersionExは含まれません。(Windowsでしか使えない関数なので 当然ですね。) ちなみにSDIとMDIの話も出ておりますのでこちらも補足を。 SDI:シングル・ドキュメント・インタフェース MDI:マルチ・ドキュメント・インタフェース 昔のWord97あたりはMDIの代表格だったんですが、 今となってはMDIのアプリケーションってほとんど ないですね…。

参考URL:
http://ja.wikipedia.org/wiki/C%E8%A8%80%E8%AA%9E

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • C++とゲームプログラミング

    ■C言語とWin32APIでしばらくコーテイングしていましたが、 最近、C++言語を始めた者です。 ■勉強の為、C++とWin32APIで書かれゲームプログラムを探しています。 ■DirectXなどは使用してない物を希望します。 適当なHP(教材)を教えて下さい。

  • VC++でwin32APIを作っているのですが・・・

    こんにちは。私はwin32APIを勉強しているc言語初心者です。 私はMicrosoft Visual C++ 2008を使ってc言語のwin32APIをプログラミングしているのですが、独学でやっているので物凄く邪道なwin32APIプログラミングをしているような気がするのです。 ・c言語のプログラムを書いて、C++のwin32APIプロジェクトとしてビルドする。 ・ヘッダーファイルにwin32API関数がなかったので、自分のwindowOSからwin32API関数を探し出してVC++2008のなかのincludeフォルダ内にコピー&ペーストして使えるようにした。 これって邪道ですか?一応何の問題もなくwin32APIプログラムが作れるのですが、もっと正規なやり方があるでしょうか。回答よろしくお願いします。

  • 今からWin32を勉強する意義

    これから私がプログラミングで何をしたいかという明確な目標はないのですが これからの勉強の下地になるだろうと思ってC言語の勉強をしてきました。 メモリの動的な確保まで学習が終わったので、コンソール以外のアプリケーションを作ろうと思ってWin32APIの勉強をしようと思ったのですが、たかがウィンドウを表示させるだけのプログラムがあまりにも変態すぎてやる気がなくなってしまいました。 果たしてこれからのプログラムのあり方を考えると、Win32APIを通してOSの仕組みを理解する価値はあるのでしょうか。 OSやメモリを意識してプログラムする機会というのは、最近だとけっこう稀なことだったりするのでしょうか。

  • 回答No.2
  • a-kuma
  • ベストアンサー率50% (1122/2211)

> WIN32APIにより作ったプログラムがSDK(マルチウィンドウではないときに限る)という意味ですか? それを言うなら、SDK ではなく SDI ですね。SDI に対して、Excel のように、ひとつのウィンドウ内に 複数の子ウィンドウが出るタイプのプログラムを MDI と言います。

共感・感謝の気持ちを伝えよう!

  • 回答No.1

win32api 32ビットWindows用のAPI(Application Program Interface)です。 プログラム言語そのものではなく、プログラム言語から機能を呼び出すめの インターフェース(関数など)です。 一方、C言語はプログラム言語そのものの1つです。 http://yougo.ascii24.com/gh/04/000481.html http://yokohama.cool.ne.jp/chokuto/win/win32api.html SDK(Software Development Kit) ソフトウェア開発の為のツール類をいいます。 http://yougo.ascii24.com/gh/04/000482.html Windwos SDK を利用した開発の例はこちらをご参考にしてください。 http://www.kumei.ne.jp/c_lang/index_sdk.html

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • Cygwin RubyでのIE

    Cygwin上でRuby言語でInternetExplorerのプログラムを書いています 現在は 1、win32oleでIEを開く 2、プログラム内でhtmlでHPを作成し、IEで開く 3、2をプログラムを終了させるまで続ける といったものですが、2でURLを習得し、IEで開こうとすると新しい窓(ウィンドウ)が開いてしまいます。新しい窓(ウィンドウ)を開かずに、1で開いたIEを更新させたいです。 または、前に開いたページを閉じて、新たなページを開く。 win32oleやwin32APIなど、Cygwin上のRubyで使える方法ならいいので、ご存知の方いましたらお願いします。

    • ベストアンサー
    • Ruby
  • Visual C++2005でMFC形式(?)のDLLを含んだSDKの利用について

    環境:Win2000 SP4 VS2005 pro SP1 現在大学で実験をするためのプログラムを作成しようとしています。 前任者が作った実験用プログラム(Win32API)があり、それに今年購入したハードウェアのSDKを導入することでプログラムの拡張を図っています。 (具体的には今までの測定に追加して動画解析を行おうとしてるのですが・・・) そこでそのSDKの説明書通りにインクルードフォルダを設定し、libファイルを設定しました。 それからソースに説明書通りにヘッダーをインクルードしました。 (このヘッダーファイルをインクルードすることによりSDKに含まれる3つのDLLがすべて読み込まれるらしいです) そこでとりあえずインクルードだけしてコンパイルしてみたところ SDKに含まれるヘッダーファイル中にCStringの構文エラーが出ました error C2061: 構文エラー : 識別子 'CString' 説明書によるとSDKに含まれるDLLのうち1つはwin32DLLで残り2つはMFC標準DLLというもののようです。 プロジェクトのプロパティから文字コードをマルチ、Unicodeとやってみましたがダメでした。 またMFCの利用設定もすべて試してみましたがダメでした。 今までVSをさわったことがなくC言語も少しかじったことがあるだけなので困り果てています。 回答よろしくお願いします。

  • VC++コマンドプロンプトでwin32コンパイル

     c言語でwin32AIを開発しようと思ったのですが、c言語のwin32API プログラムをVisual C++2008のコマンドプロンプト経由でビルドするこ とは出来るのでしょうか?回答よろしくお願いします。

  • デスクトップアプリケーション作成時の開発言語について

    PC上で動作するデスクトッププログラムを作りたいと思っているのですが、プログラミング言語の 選択肢が多く迷っています。 プラットフォームとしては当面はWindowsを考えているのですが、将来的にはLinux等(PC-UNIX)でも デスクトップアプリを作成してみたいと考えています。 今は言語の選択肢として、C言語, C++, Java, C#を候補にしています。 上記のプラットフォームでデスクトップのプログラムを作成する場合、どの言語が一番相性がよい、 あるいは将来性があるのでしょうか? 私の各言語に対する認識は下記の通りですが、この認識で間違いないでしょうか? ・C言語   もっともよく使われているプログラム言語。   WindowsはSDK(Win32API)での開発になる。   LinuxのプログラムはC言語が多い。   基本となる言語で情報も多い。 ・C++   C言語にオブジェクト指向の概念を加えた言語。   Windowsでの開発はSDK、又はMFC。   C++の習得には時間がかかるが、今後はC言語より主流になる(?) ・Java   マルチプラットフォームのプログラム言語。   オブジェクト指向の言語。   Webやサーバーサイド、携帯電話アプリの開発では主流であるが、   デスクトップ分野では実行速度や実行環境(JRE)がネックになり   あまり使われていない。   SWTを使えば、SWINGやAWTより実行速度がUPしたGUIアプリの   開発が可能。 ・C#   C++をベースにJava, Delphi等の既存言語のいいとこどりをして、   .NET Framework用に新たに開発された言語。   今後のWindowsアプリでは、C#が主流になる(?)   Javaと同様に実行環境(.NET Framework)が必要となる。   実行環境は今後のWindowsプラットフォーム上には標準で搭載される。   Linux上では mono というオープンソースの実行環境がある。

  • windowsでの自動化

    windowsで、画面上の色を取得して、自動的にクリックするプログラムを作りたいのですが、 必要なものがわかりません。 調べてみると、win32apiとvisual C++を使う方法があるようですが、他の方法はあるのでしょうか。 ちなみにプログラミングの経験は、C言語でCUIのプログラミングをしたことがある程度です。 簡単なデータ構造やアルゴリズムもわかります。 ですが言語は問いません。 よろしくお願いします。

  • ダイアログボックスのタスクバーアイコンを表示するには

    BCC32で、C言語によりWin32 APIを用いたプログラムを勉強しております。 DialogBox()を使用すれば、ウィンドウ上に配置した各種コントロールのキーボード操作をWindowsに任せられて楽なので、メインウィンドウを非表示にして、ダイアログボックスによるアプリケーションを作っています。 ただし、この場合、タスクバーにアイコンが表示されません。 DialogBox() で作成したウィンドウについて、タスクバーにアイコンを表示させることは可能でしょうか? また、どのようにすれば良いでしょうか?

  • C for Linuxでの設定ファイル読み込み

    LinuxでC言語のプログラムを作っています。 設定ファイルを読み込むのにWin32 APIではGetPrivateProfileStringという関数がありますが、それと同様のものがLinuxにありますでしょうか? 自分で作る必要があるのでしょうか?

  • プログラムから別のアプリケーションを起動する

    ■C言語とWIN32APIでプログラムしています。 ■自作したアプリケーションを実行形式(*.exe)で多数をCD-ROMに保存しました。 ■さらに別にインデックス画面をC言語とWIN32APIで作成して、その画面のボタンから保存したアプリケーションを開こうと思います。 ■Web画面のボタンのような事を考えています。 「質問」 ・プログラムから別のアプリケーションを起動する方法はどうするのですか。 ・ご教示お願いします。 ・また関連・参考になるHPもお聞かせください。

  • C言語のコールバック

    Java/C#/PHPといった言語はすでに使えるのですが、現在C言語およびWin32 APIを勉強中です。 C言語の関数にはJavaなどのインスタンスメソッドのthisにあたる引数が渡されませんが、Win32 APIのウィンドウプロシージャに代表されるコールバック関数において不都合があります。Javaの場合は、 interface Callback{ void onCallback(); } といったインターフェイスが定義されているものとして、 hoge(new Callback(){ int data = 10; public void onCallback(){ System.out.println(data); } }); のようなコードで引数以外のデータも参照できますが、C言語ではこのように引数で渡せないデータを参照するにはどうしたらよいでしょうか。グローバル変数として参照するのは、Javaのstaticなフィールドと同様に拡張性を損なうので避けたいと思います。

  • C言語の次のステップは?

    現在、C言語を学習していてコンソールアプリケーションや Web上のCGI等は作れるようになってきました。 次の学習ステップとしてWindowsのアプリケーション作成 か、C++の言語学習にするかを悩んでいます。 C言語でのWindowsアプリケーション開発であれば、SDK(Win32API)に よる開発になると認識しています。この場合であれば特にC++の知識は 不要でしょうか?それともSDKでの開発の場合でもC++の知識は必須に なるのでしょうか? MFCとかを使うのであれば、C++の知識は必須ですよね? あるいはこれからの開発ではオブジェクト指向の知識は必須である ということでC++の学習を経て、Windowsアプリの開発について学習した 方がよろしいでしょうか? 最終的な目標はC/C++にてWindows/Linuxアプリの開発ができるように なりたいと思っています。 当面Windowsアプリを開発するにあたって、C→SDKもしくは C→C++→SDK/MFCのどちらが効率的な学習ステップになるのでしょうか? 皆さんのアドバイスをいただければ幸いです。