netframeworkからネイティブコードDLLを使用する

[戻る]
horani [E-Mail] 2009/10/20(火) 14:23:21
昔、プログラム経験がありますが、今は直接プログラム開発から遠ざかっていて、新し
い開発toolについていけてない者の質問です。

従来外注で作成されたDLLを使ってプログラムを作ろうと思っています。
最新のVisual C++express はネイティブコードでのソフト作成ができないのでしょう
か?
(MFCがないということはWindowsAPIも使えないということでしょうか?)
また、Studio2008などのNetFrameworkで作成するprogramはVC6(ネイティブコード)で作
成されたDLLを利用することはできないのでしょうか?
VC.netやVB.netのnetframeworkのプログラムからネイティブコードのDllは使用すること
は十分可能と考えていいのでしょうか?
結構トラブルが多いのでしょうか?
十分可能なら、参考になるURLを教えてください。

また、一般的にはネイティブコードでのアプリケーション開発はあまり有効ではないの
でしょうか?
たくさんの開発方法が出てきた今日でも高速で動くことのできるネイティブコードは利
用価値が高いと思うのですがどうでしょう。

仲澤@失業者 2009/10/20(火) 14:48:14
1.「Visual Studio 2008 Express Edition」シリーズのひとつである
  「Visual C++ 2008 Express Edition」 はC/C++言語のネイティブコンパイラ
  リンカの機能を持ちます。
  MFCは付属していませんので、MFCソースコードのコンパイルリンクはできま
  せんが、Windows Platform SDKが付属しているので、全てのWindows APIを
  使用でき、Windowsのアプリケーションの開発(EXE & DLL)が可能です。
  自分も使ってます。以下からダウンロードできます。
  http://www.microsoft.com/japan/msdn/vstudio/express/

>VC.netやVB.netのnetframeworkのプログラムからネイティブコードのDllは使用するこ>は十分可能と考えていいのでしょうか?

2.ネイティブC/C++言語で作成されたDLLの内、C言語関数規則によりEXPORT
  された関数はVBなどから利用できます。これが最も簡単な方法です。

>また、一般的にはネイティブコードでのアプリケーション開発はあまり有効ではないの
>でしょうか?

 一般に、ネイティブで書かなければ間に合わないような高度に速度を求められる
 アプリケーションを、プロフェッショナルでなはい人が書かなければならない
 場面は、現在においては「まれ」だと考えられます。
 また、.net以降においてはそれを優先して機能拡充されており、SDKのみの開発
 は目的を達成するまでにかかるコストにおいて、やや不利な状態にあると考えら
 れます。

επιστημη [E-Mail] [HomePage] 2009/10/20(火) 14:51:10
> 最新のVisual C++express はネイティブコードでのソフト作成ができないのでしょう
か?

なぜ? できますよ?
# てか仕事にexpressですか?

> MFCがないということはWindowsAPIも使えないということでしょうか?

なぜ? WinAPIはふつーに使えますが。

> Studio2008などのNetFrameworkで作成するprogramはVC6(ネイティブコード)で
> 作成されたDLLを利用することはできないのでしょうか?

んなことないです。

> たくさんの開発方法が出てきた今日でも高速で動くことのできるネイティブコード
> は利用価値が高いと思うのですがどうでしょう。

そもそもそんな高速動作が求められるか、じゃないかしらね。
さくさく実装できて改造/変更/拡張が楽ならそっちを選ぶも手ですし。

PATIO 2009/10/20(火) 16:38:21
まず、Expressはお試し版と言うか勉強用と言う位置付けなので
これを基準にして考えては駄目です。
Expressで事足りると言う話なら話は別ですが、
本格的な開発に利用したいならちゃんと製品版を買わないと駄目でしょう。

MFCとWin32APIは別物なので分けて考えないといけないと思いますよ。
MFCはクラスライブラリであってWin32APIを利用しているとは思いますが、
同じ物では有りません。

> たくさんの開発方法が出てきた今日でも高速で動くことのできるネイティブコード
> は利用価値が高いと思うのですがどうでしょう。

PCの性能が上がってきて普通の用途に使用する分にはそこまでの要求が
出てこない状況と言うのもあると思いますよ。
今のPCの性能でなおかつパフォーマンスを要求する用途と言うと
ある程度、対象が限られてくると思いますし。
性能的に問題なければ、比較的簡単に開発できる.NETの環境も
十分に利用価値があると思いますよ。

horani 2009/10/21(水) 08:51:28
[[解決]]
いろいろご意見ありがとうございます。


古いDllを利用して簡単にアプリケーションを作るのが今回の目的ですが、
expressでも問題ないかなと思ってました。

>性能的に問題なければ、比較的簡単に開発できる.NETの環境も
十分に利用価値があると思いますよ。

それほど、進歩しているんですね。
今回の1万行のcsvの数値計算して結果を求める、ものなので
GUIとかは凝ったものはいらないので、そのように考えました。

10年ぐらい離れていたら、ほんとにいろんな方法が出てきているので
いやになっているのも確かです。

>2.ネイティブC/C++言語で作成されたDLLの内、C言語関数規則によりEXPORT
  された関数はVBなどから利用できます。これが最も簡単な方法です。

VC.netを使えばできるのなら安心しました。

ryo 2009/10/21(水) 09:46:47
古いDLLが使えるかどうかは、そのDLLがどう作られていたかによる

古いスレッドには追加発言できません。