人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Microsoft Visual Studio 2005 Team Suiteを利用しています。 Visual C++で、.net Frameworkが入っていないWindows上でも動作するネイティブアプリケーションを開発するための手順を教えてください。

●質問者: ymlab
●カテゴリ:コンピュータ
✍キーワード:.NET Framework C++ Microsoft Visual Studio Windows
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● thrillseeker
●35ポイント

新規にプロジェクトを作成する時に、「MFCアプリケーション」を指定すればOKです。

http://pub.nikkan.co.jp/mgz/sekkei/zsek06120_036.pdf

◎質問者からの返答

回答ありがとうございます。

MFCアプリケーションを指定したらネイティブで動くのでしょうか・・・。

実際に以前MFCで開発した時はできませんでした。

Win32APIだけで作った場合は無理なのでしょうか。


2 ● t_shiono
●35ポイント

「ネイティブアプリケーション」の意味をどのように考えているかによるのですが、CLRを利用しないプロジェクト(Win32やMFC)はネイティブアプリケーションのプロジェクトとなります。

ちょっと小難しい言い方をすると、アプリケーションはOSに対して処理を命令することで実現されます。

その命令の仕方が色々あります。


大雑把に言うと、次のようになります。

○Win32の場合

アプリケーション - Win32 API - Windows

○MFCの場合

アプリケーション - MFC - Win32 API - Windows

○CLRを利用する場合

アプリケーション - .NET Framework - (?) - Windows

※?の部分は調べてないです。


そのため、CLRを利用する場合は、.NET Frameworkで解釈される実行コードとなります。

その意味から、前者2つは.NET Frameworkがなくても動作する、すなわち、ネイティブコードと呼べるのですが、MFCアプリケーションが動作するためには、そのためのライブラリが必要となります。

恐らく、このライブラリがなかったために、以前に作成した際は動かなかったのではないでしょうか?(想像ですが)


MFCのアプリケーションをどこへ(Vista除く)持っていっても動作させるためには、

Win32プロジェクトで開発する

または、

MFCプロジェクトで開発し、静的リンクをする

または、

MFCプロジェクトで開発し、ランタイムDLLをセットで配布する

のいずれかが必要となります。

※アプリケーションの動作の中で必要なライブラリなどがあれば、さらに工夫が必要となります。


Team Suiteで試した訳ではないのですが、何かの参考になれば。

◎質問者からの返答

回答ありがとうございました。

私の場合は、静的リンクをしていなかったのでしょうか・・・。

また、確認してみたいと思います。

ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ