- ベストアンサー
VCとWin32APIの使用について?
Delphiを使用しているのですが、私は、システムに直結してそうなので、あまり使いたくないのですが、ゴミ箱移動やWin32APIを使うこともあります。 こういった事を調べていたの時、少し見たのですが、VC++?では、Win32APIは、ためらってしまう?という、意見をみました。 その時は、スルーしたのですが、何か理由があるのでしょうか? (VC++じゃなく、VBだったかもしれません。 今もちらちらと、調べてみましたが、見つけることができなくって。 もしかしたら、Delphi信者の方なのかもしれませんが、なにか理由があるのかな?と思いまして。 どう考えても、Win32APIと、マイクロソフトの言語が、相性が悪い訳がある訳ないだろうし。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
理由があるとしたら、移植性が悪くなるということでしょうか。 当然UNIX系のOSでWin32APIが含まれるコードのコンパイルは通りません。 (もちろんレイヤーをわけるなりラップするなりで工夫すれば問題ありません。)
その他の回答 (1)
- POTATO_XP
- ベストアンサー率10% (24/230)
VC++にもWin32プロジェクトはあります。ガシガシつかってますが・・・。 多分、MFCプロジェクト内で使用する場合、MFCの構成をきちんと把握しないまま APIを無闇に使うのは危険なのではという意味なのではないでしょうか? 移植性で言うなら、MFCよりAPIとして使える方が自由度があります。Linuxに 移植したければ、Win32のAPIと類似したシステムコールをうまくラップ出来る様 にデザインされたライブラリを作りその上にアプリを構築するのが一般だと思い ます。ただ、それをすると、Windows固有、Linux固有の持ち味を潰す事になる場 合もあるので、移植性確保は多機能性をトレードオフにしてしまい、常にそれを 意識する事が正しいかは一概に言えません。御参考まで。
お礼
Win32APIと構造体は、切り離すことができないですからねー。 私も、フォルダごとの移動やゴミ箱に入れるのとかかは、便利ですから、使ってしまいますが。 それでも、できるだけ、理解した上で、2,3のHPを参考にします。 ということは、やはり、Delphi信者の方だった、って可能性も出てきそうですね。 もちろん、Win、Linuxの両方でコンパイルができるソースに、意味がないとは言いませんが、私はLinuxを2年くらい起動さえさせてませんので。^^; 回答、ありがとうございます。
お礼
あー、なるほど。 Winで固めてしまうと・・・、ということですか。 使ったことはありませんが、Delphiは、 Linux向けのKylixがあるみたいですからねー。 メモリーとか、使うのが面倒とか、あるのかな?と思っていたのですが。 ありがとうございます。