以前「既存のCプログラムをMS Visual C++へ移行して実行したい 」という
質問をした者です。

既存のCプログラムをビルドするところまではいきました。
****(.exe) inputfile outputfile
というふうにプログラムを実行させたいのですが、
VC++の「実行」ボタンでは入出力ファイルを指定するところが
わかりません。
(「実行」ボタンを押すと、DOS窓が開いて、「inputfile outputfile」
を入力する暇も無くエラーになって終了します)

MS固有の関数はできるだけプログラムに入れたくないのです。
ソフト(VC++)の設定で入出力ファイルを指定する方法を
教えてください。

A 回答 (4件)

デバッグ中のプログラムの作業ディレクトリは実行ファイル(Debugフォルダ)では無くプロジェクトフォルダ(Debugフォルダの1階層上)に設定されるはずです。



以下、老婆心(っていうか仕様を変えてしまうだかダメ?)ですが…
私ならargcの値を元に
case 1:inputfile,outputfileともに入力
case 2:outputファイルのみ入力、inputfileはargv[1]
case 3:outputはargv[2]、inputfileはargv[1]
と、キーボードから入力するように書き換えます。
    • good
    • 0
この回答へのお礼

toysmithさん、回答ありがとうございました。
お礼が遅くなってすみません。

>以下、老婆心(っていうか仕様を変えてしまうだかダメ?)ですが…
>私ならargcの値を元に
>case 1:inputfile,outputfileともに入力
>case 2:outputファイルのみ入力、inputfileはargv[1]
>case 3:outputはargv[2]、inputfileはargv[1]
>と、キーボードから入力するように書き換えます。
そういった方法もあるんですね!
C言語で書いてあれば、入出力のところは変更されてもかまわないので、
考えてみます。
ありがとうございました。

お礼日時:2002/04/05 10:25

> 入力ファイルは、exeファイルと同じところに置いているの


> ですが、なにか問題があるのでしょうか?
> (場所を指定しないといけないのでしょうか??)

デバッグ実行時のディレクトリは特に指定しなければ、実行形式ファイルを
作成したところだったような記憶があるのですが、記憶違いかもしれません (^^;

引数を設定したところで、

・「作業用のディレクトリ」に、inputfile が置いてあるところを記述する
・inputfile をフルパスで記述する

のどちらかをしてください。
    • good
    • 0
この回答へのお礼

a-kumaさん、いつもありがとうございます。
お礼が遅くなってすみません。

「作業用のディレクトリ」に、inputfile が置いてあるところを記述する

これを試したところ、実行できました。
いまは新たな問題にぶつかってます(^^;

また何かありましたら、よろしくおねがいします。

お礼日時:2002/04/05 10:21

プロジェクトの設定ダイアログに「デバッグ」というタブがあるはずです。



そこに「プログラムの引数」という入力フィールドがあるので、そこに引数
(質問の例だと .exe より後の inputfile outputfile)を記述してください。

# VC4.2 の知識を元に書いているので、多少名前が違うかもしれません

この回答への補足

すみません、実行してみたのですが、
fopen()の返り値がNULLでエラーになってしまいました。
入力ファイルは、exeファイルと同じところに置いているの
ですが、なにか問題があるのでしょうか?
(場所を指定しないといけないのでしょうか??)
ちなみに入力ファイルはバイナリで、これもなにか問題があるのでしょうか?
(fopenのモードは「rb」にしています)

補足日時:2002/04/03 16:53
    • good
    • 0
この回答へのお礼

a-kumaさん、またまた早速の回答ありがとうございました。
VC++6.0も同じ名前で、同じ場所に入力フィールドがありました。

これで実行してみます!

お礼日時:2002/04/03 16:51

Visual C++ から離れて6年ぐらい経つので、ぜんぜん外しているかも知れませんが、


プロジェクトの設定等に「コマンドライン引数」とか言う項目はありませんか?
今、手元にVC++ が無いので、確認は出来ませんが。。。

とりあえず、他の人の回答を待ってみましょう。。。
    • good
    • 0
この回答へのお礼

mrt136さん、早速の回答ありがとうございました。
No.2のa-kumaさんの言うとおり、
プロジェクトの設定の、「デバッグ」というところに
「プログラムの引数」というフィールドがありました。
これから実行してみます。

お礼日時:2002/04/03 16:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QVC++6.0からVC++.NETへの変遷について

VC++がようやく分かり出したこの頃ですが、今日本屋に立ち寄ったら、なっ なんとVC++の本がほとんど無くなり、代わりにVC++.NETとVC#ばかりになっていました。

C#はVC++とは違うと聞いていたのですが、読んでみるとVC++.NETもかなり違ってました。
(かなり違うという表現は、各人の状況により意見が異なると思いますが)

私のような本を見ながらコードを打って勉強している初心者にとって、VC++.NETの本ではVC++6.0を動かすことができません。

今から勉強する人や本を買って勉強しようとしている人あるいは、コンパイラを手に入れようとしている人はVC++.NETに移行してしまわざるを得ないのでしょうか?

すでにVC++6.0を十分活用出来ている人も、時代の流れでNETやC#を勉強していかなければならないのでしょうか?

つまり、単なるバージョンアップとは一線をなす変更がなされたということなのでしょうか?

良くご存知の方見解をお願いします。

Aベストアンサー

すぐにではありませんが、.NETに移行せざるを得なくなるでしょうね。
ただ、開発環境という面では、VS.NETにはC++が含まれており、C++の部分は
従来のC++も利用できるようになっていて、これはアンマネージC++と呼ばれています。
C++で.NETのコードを作成する時は、マネージC++という拡張仕様で記述します。
また、従来のコードと.NETフレームワーク用コードを混在させてアプリケーションを
開発することもできます。これは、相互運用という形で説明されています。

ということですので、C++で習得したものが無駄になることはありません。
たぶん、.NET環境の開発には、C++よりもC#やVB.NETを利用することが
多くなると思いますが、C++を理解していることはプラスにはなってもマイナスには
なりませんので、頑張って下さい。

.NET関連のサイトを2つご紹介しておきます。ご参考に。
http://www.microsoft.com/japan/msdn/library/default.asp
http://www.atmarkit.co.jp/fdotnet/index.html

すぐにではありませんが、.NETに移行せざるを得なくなるでしょうね。
ただ、開発環境という面では、VS.NETにはC++が含まれており、C++の部分は
従来のC++も利用できるようになっていて、これはアンマネージC++と呼ばれています。
C++で.NETのコードを作成する時は、マネージC++という拡張仕様で記述します。
また、従来のコードと.NETフレームワーク用コードを混在させてアプリケーションを
開発することもできます。これは、相互運用という形で説明されています。

ということですので、C++で習得したもの...続きを読む

Q既存のCプログラムをMS Visual C++へ移行して実行したい

同じような質問がでていましたら、すみません。

いままでWS(unix)で作っていたC言語のプログラムをWindowsで実行しようと
しています。
Microsoft Visual C++ 6.0 Proを購入し、
新規でプロジェクトを作成するところで止まってしまいました。

「プログラムをコンパイルして、あるバイナリファイルを読み込み、
指定したファイルへ結果を書き込む」
という操作がしたいのですが、プロジェクトの種類はどれにすればいいのでしょうか?

また、ファイルを読み込む際、メインと関数は別のファイルになっているの
ですが、コンパイルはどのように指定すればいいのでしょうか?

もうひとつ、今までargv[]で入出力ファイルを指定していました。
# (メイン)(入力ファイル) (出力ファイル)のように
この処理はVC++でできるのでしょうか?

VC++の入門の本を購入したのですが、Cのプログラムについては
なかなか載っていないので困っています。
よろしくお願いします。

Aベストアンサー

> プロジェクトは出来たのですが、***.cppと、StdAfx.hというファイルが
> 出来ました。

VC6.0 は良く憶えてないのですが、プロジェクトを新規作成する過程で、MFC を
使う/使わないの選択がありましたか?

もしあれば、「使わない」としてください。

QVC++とVC#の違いを教えて下さい

VC++とVC#どちらを勉強したほうが就職に有利でしょうか
VC++とVC#何がちがうのでしょうか。
VC++は主に業務系アプリを作成するときに使う言語で
VC#は主に制御系アプリを作るときに作成する見たいな
違いも教えて下さい。

Aベストアンサー

> VC++とVC#どちらを勉強したほうが就職に有利でしょうか

どちらでも大した差はないと思いますが、VC++の方が応用範囲は広くなると思います。VC++をVC#をという視点ではなく、プログラミング言語としてC/C++, C#を、プラットフォームとしてWindowsのプログラミングを、.NETフレームワークを、という視点で勉強することをお勧めします。

> VC++とVC#何がちがうのでしょうか。

VC++はC++をベースにしていますが、マイクロソフト社の独自仕様がかなり入っています。.NET Frameworkなしでも動くプログラムをかけます。一方、C#は比較的新しい言語で文法的にはJavaに似ており、.NET Frameworkを前提に作られています。

.NET Frameworkを使うのであれば、VC++, VB, C#のどれを使っても出来ることは一緒です。

私は、自分で使うちょっとしたツールを作る時は C#を使い、使用環境の制約上 .NET Frameworkが使えないものや、ドライバを開発する場合、サンプルプログラムとしてソースコードを開示する場合にはVC++を使っています。

ちなみに、マイコン上で動作する制御用プログラムを開発する場合はどちらも使えず、H8マイコンやSHマイコンではHEW(ルネサスの統合開発環境)にGCCやルネサスのC/C++コンパイラを使って、C言語でプログラムを開発しています。

> VC++とVC#どちらを勉強したほうが就職に有利でしょうか

どちらでも大した差はないと思いますが、VC++の方が応用範囲は広くなると思います。VC++をVC#をという視点ではなく、プログラミング言語としてC/C++, C#を、プラットフォームとしてWindowsのプログラミングを、.NETフレームワークを、という視点で勉強することをお勧めします。

> VC++とVC#何がちがうのでしょうか。

VC++はC++をベースにしていますが、マイクロソフト社の独自仕様がかなり入っています。.NET Frameworkなしでも動くプログラムを...続きを読む

Q【VC++2005(CLR)】C++/CLIへのUNLHA32の導入、及び、lzh圧縮解凍の実行の仕方について

いつもお世話になっています。
VC++初心者です。

以前の質問と同様になってしまいますが、
再度質問させて頂きたいと思います。

やりたいことは、VC++2005(CLR)で
ボタンを押しすと、lzh圧縮、解凍するようにさせたいです。
↓こんなイメージです。
private: System::Void button_Form1_Click(System::Object^ sender, System::EventArgs^ e) {
  String^ strFileName = "aaa.txt"//ファイル名
  String^ strCompressFileName = "aaa.lzh"//圧縮されたファイル名
  //ここにlzh解凍(べつのボタンでlzh圧縮)をしたい
}
※先頭行に全角スペースを使用しています。


現在、他の方からアドバイスを頂いて、以下の状態まで来ました。
・UNLHA32をダウンロードしました。
 (格納先:C:\Program Files\ArchiverDll\UNLHA32)
・Form1.h内のボタンに実装するので、以下のコードを
 Form1.h内の「#pragma once」の下に追加しました。
#include "C:\\Program Files\\ArchiverDll\\UNLHA32\\UNLHA32.H"
・LIBの追加ができていません。
 LIBの追加は、
 ・「ソリューションエクスプローラ」のプロジェクト名を右クリック
   し、「プロパティ」を選択。
 ・「構成プロパティ」-「リンカ」-「入力」をクリック。
 ・「追加の依存ファイル」に「C:\\Program Files\\ArchiverDll\\UNLHA32\\UNLHA32.LIB」
   を記入。
 この時点で、エラーが発生しています。
(UNLHA32.LIBは上記の同フォルダにあります。)

このエラーの対処、及び、これからすべきことを
ご指導頂けませんでしょうか。

お手数ですが、よろしくお願い致します。

いつもお世話になっています。
VC++初心者です。

以前の質問と同様になってしまいますが、
再度質問させて頂きたいと思います。

やりたいことは、VC++2005(CLR)で
ボタンを押しすと、lzh圧縮、解凍するようにさせたいです。
↓こんなイメージです。
private: System::Void button_Form1_Click(System::Object^ sender, System::EventArgs^ e) {
  String^ strFileName = "aaa.txt"//ファイル名
  String^ strCompressFileName = "aaa.lzh"//圧縮されたファイル名
  //ここにlzh解凍(べつのボ...続きを読む

Aベストアンサー

 こんにちは。補足頂きました。

 ・「ソリューションエクスプローラ」のプロジェクト名を右クリックし、「プロパティ」を選択。
 ・「構成プロパティ」-「リンカ」-「入力」をクリック。
 ・「追加の依存ファイル」に「C:\\Program Files\\ArchiverDll\\UNLHA32\\UNLHA32.LIB」

 の手順で追加した「C:\\Program Files\\ArchiverDll\\UNLHA32\\UNLHA32.LIB」のパスを「追加の依存ファイル」から削除して見て下さい(初期状態に戻すと言う事)。
 その後、「ソリューションのリビルド」で出来ませんか。

QVC++6で作成したDLLをVC++.NET2003から呼び出せますか

現在、VC++.NET2003で作成しています。あるメーカから提供されているDLLがあるのですが、そのDLLとのリンクまではできたのですが、実行するとエラーになってしまいます。
(プログラムが異常終了するのではないのですが、そのDLLからの戻り値がエラーになり、期待した結果が得られません。)
そのDLLはVC++6で作成したものらしく、マニュアルには、VC++6で作成したアプリケーションからの呼び出し方法が、記述されていました。
VC++6でアプリを作成すれば、正常に呼び出せることは明白なのですが、いかんせん、VC++.NET2003での開発が、ある程度進んでしまっていますので、いまからVC++6に切り替えるわけにもいきません。
それで、一般論として、確認したいのですが、VC++6で作成したDLLをVC++.NET2003で使用することは、出来ないのでしょうか。(これから、メーカにも確認する予定ですが、まずは、こちらで確認したく、投稿した次第です)

Aベストアンサー

> もし、原理的にVC++6のDLLをVC++.NETでも呼び出し可能なら、

呼び出すだけなら原理的には可能ですが、作り方次第では正しく動作しないと思います。
典型的なまずい例は、DLL側でmallocやnewなどで割付けたオブジェクトを呼び出し側で解放させる、またはその逆です。

結局のところ、DLLの作り方に強く依存しますので、想像だけではこれ以上分かりません。

QC(C++) コントロール(ボタン)の制御 ボタン1押したらボタン2が使用不可に・・・その逆も。。。

はじめまして。

回りに聞ける人がいなくて困ってます。

C(C++)でフォームにボタンを設置し、任意のボタンを押したら、他のボタンが押せなくなるように、
もう1回押したら、他のボタンが押せるように戻るっていう感じの制御をしたいのですが、書き方が分かりません。

分かる方、記述例をつけて教えて頂けると助かります。お願いします。

Aベストアンサー

こんんちは

ボタン1を押したらボタン2の有効/無効を最クリックに切り替えると言ううことでよね?
ボタン1が押されたときのハンドラのみ記述します。
参考にしてみてください。

有効=ボタンが押せる状態
無効=ボタンが押せない状態

void CMyDlg::OnButton1()
{
CButton*pBtn = (CButton*)GetDlgItem(IDC_BUTTON2);

// ボタン2が有効か無効かをチェック
if( pBtn->IsWindowEnabled() ){
// 有効なら無効にする
pBtn->EnableWindow(FALSE);
} else {
// 無効なら有効にする
pBtn->EnableWindow(TRUE);
}

}

QC#とVC++.NETについて教えて下さい。

質問タイトルが漠然としててごめんなさい。
特別なソフトを作る訳ではないのですが、暇プロレベルで最近やっと
苦労の末、.NET以前のVC++を理解できて、VC++ってMFC
を使う為の言語のだなーと思っている感じです。
C#は購入済みですが、まだ触ってません。VC++.NETは未購入
の状態です。

そこで質問なのですが、
 (1)WIN32アプリにはC#とVC++.NETどちらが適していますか?
 (2)VC++.NETはやはりMFC寄りの言語なのでしょうか?

インラインアセンブルとかもやりたいのですが、
 (3)VC++.NETではできますか?C#では?

C#は見た目がC言語でクラスも使えるのでVC++.NETとどう違う
のか良くわかりません。自分的にはC言語でなんでもやって行って、
C++はクラスが分かる程度で良しとしようと思っています。
詳しい方、漠然とした質問で申し訳ございませんが、ご教授お願いします。

Aベストアンサー

「VC++.NET」と書かれていますが
「Visual C++.NET 2003」及び「Visual C++.NET 2002」の事でしょうか?
2005からは「Visual C++ 2005」という表記になり表記から「.NET」ははずれました。
それと.NET Frameworkという言葉をご存知でしょうか?
C#は.NET Frameworkを使ったアプリケーションを作る為の言語です。

(1)
Win32APIを使ってプログラムをするなら普通VC++を使います。
C#はWin32APIの代わりに.NET Frameworkを使います。

(2)
従来通りMFCが使えます。(MFCのバージョンも上がっています。)
それとは別にC++から.NET Frameworkを使える
C++/CLIといものも選択できます。(2003ではマネージドC++と呼ばれていました)
(.NET Frameworkを使ったソフトを動かすには.NET Frameworkのランタイムが必要になります。)

(3)
VC++はインラインアセンブラを使うことが可能です。
C#はそんなに詳しくないですが多分無理です。
その代わりunsafeコード(インラインCみたいなもの)が使えます。

>C#は見た目がC言語でクラスも使えるのでVC++.NETとどう違う
>のか良くわかりません。
C#とC/C++はまったく違う言語です。例えばC#は基本的にポインタはありません。クラスの多重継承もできません。
単純なステートメント(文構造)が同じなだけです。
それならC++とJavaもステートメントは似ているといえます。

「VC++.NET」と書かれていますが
「Visual C++.NET 2003」及び「Visual C++.NET 2002」の事でしょうか?
2005からは「Visual C++ 2005」という表記になり表記から「.NET」ははずれました。
それと.NET Frameworkという言葉をご存知でしょうか?
C#は.NET Frameworkを使ったアプリケーションを作る為の言語です。

(1)
Win32APIを使ってプログラムをするなら普通VC++を使います。
C#はWin32APIの代わりに.NET Frameworkを使います。

(2)
従来通りMFCが使えます。(MFCのバージョンも上がっていま...続きを読む

Q3週間でC,C++,VC++の勉強を済ませるのですが・・・

こんにちは。
私は、未経験でプログラマの職に就いた者です。
会社より、まずは勉強をしてほしいとのことで、

第1週 : 独習C(第3版 翔泳社)で、C言語の勉強
第2週 : 独習C++(第3版 翔泳社)で、C++の勉強
第3週 : MSDNライブラリのVisualC++チュートリアルで、VC++の勉強

というスケジュールで、勉強しています。
今は第3週の2日目ですが、なかなかはかどりません。

上司は、「これから先に実践で必要なことを覚えてもらうけれど、その基本を身に着けてもらいたい」と言っていましたし、
時間の関係もあるので、それぞれの項目の内容をほぼ理解できるまで読み、
例題などは極力とばして進めてきました。
そして今週VC++の勉強に入ったのですが、MFCなど新たなものが沢山でてくるし、
今までの本と違いMSDNライブラリは初心者の私にはあまり親切ではなく、プログラムの全体を把握することができずに頭がこんがらがってきています。

上司は別の場所で働いているのでなかなか意思の疎通がとれず、
勉強の指針など話す機会に恵まていない状況です。

そこで経験者の方に質問なのですが、
MSDNライブラリ以外に副読本として役に立つ本や役立つサイトなどオススメはありませんでしょうか?
また、この3週間のスケジュールで求められていることは、おおまかな全体の把握以外に、具体的にどのようなことと思われるでしょうか。
(例えば、このスケジュールで勉強するならVC++の~の事は重点的に覚えておいてほしい、など)

曖昧な質問で申し訳ありません。
この質問内容では不十分であれば指摘していただければ補足しますので、
どうぞよろしくお願いします。

こんにちは。
私は、未経験でプログラマの職に就いた者です。
会社より、まずは勉強をしてほしいとのことで、

第1週 : 独習C(第3版 翔泳社)で、C言語の勉強
第2週 : 独習C++(第3版 翔泳社)で、C++の勉強
第3週 : MSDNライブラリのVisualC++チュートリアルで、VC++の勉強

というスケジュールで、勉強しています。
今は第3週の2日目ですが、なかなかはかどりません。

上司は、「これから先に実践で必要なことを覚えてもらうけれど、その基本を身に着けてもらいたい」と言っていました...続きを読む

Aベストアンサー

ゼロから学ぶVisual C++
http://www.amazon.co.jp/exec/obidos/ASIN/4822216934/250-7140492-7151432
Visual C++〈3〉はじめてのMFCプログラミング
http://www.amazon.co.jp/exec/obidos/ASIN/4881358235/250-7140492-7151432

とりあえず初心者向けMFC本を2冊。
後、最終的にはWin32 APIというものに対する知識も必要なので、
Win32API完璧マスター
http://www.amazon.co.jp/exec/obidos/ASIN/4789836908/ref=pd_sim_dp_5/250-7140492-7151432
も挙げておこう。

むしろMSDNのチュートリアルを後回しにして良いと思う。あれは、ある程度わかるようになってからでしょ。

> この3週間のスケジュールで求められていることは、
> おおまかな全体の把握以外に、具体的にどのようなことと思われるでしょうか。
 さて・・・・君の会社が何を作っているのか知らないので一概には言えないのだが、やはりアプリの作り方、だな。何を置いても一通り作れるようになってからだ。ただ、その前に人のソースを読めるようになっておく方が上達が早いかも知れない。
 ところで今思ったんやけど、君の会社はMFCで作っているのかな?
> 第3週 : MSDNライブラリのVisualC++チュートリアルで、VC++の勉強
とあるが、もしこれで君の会社がWin32APIだけで作りよるとしたら、MFCの知識はかえって邪魔かも知れない。

 私はC言語(とWindowsでのC)を本当にマスターしたと言えるまで、2年かかった。NECのN88BASICという言語の経験が1年あった上での話だ。んな急に全部作れるようになれとは決して言わないはず。
 書けるよりは、まず人のプログラムを読めるようになると良いだろう。

ゼロから学ぶVisual C++
http://www.amazon.co.jp/exec/obidos/ASIN/4822216934/250-7140492-7151432
Visual C++〈3〉はじめてのMFCプログラミング
http://www.amazon.co.jp/exec/obidos/ASIN/4881358235/250-7140492-7151432

とりあえず初心者向けMFC本を2冊。
後、最終的にはWin32 APIというものに対する知識も必要なので、
Win32API完璧マスター
http://www.amazon.co.jp/exec/obidos/ASIN/4789836908/ref=pd_sim_dp_5/250-7140492-7151432
も挙げておこう。

むしろMSDNのチュートリアルを後回し...続きを読む

QVC++プログラマーのアルバイトを未経験可、年齢不問で探しているのです

VC++プログラマーのアルバイトを未経験可、年齢不問で探しているのですが…
現在年齢は42歳です。
5~6年前からC言語を勉強し始め、現在はC++やVC++(MFC)を勉強するまでになったのですが、VC++プログラマーのアルバイトで雇ってくれる会社はありますか?
同じ未経験で入社するには若い人に比べて年齢でハンデがある分をスタートラインで差を付けようと思い、今でもVC++(MFC)の勉強を続けているのですがこれはあまり意味のないことですか?

Aベストアンサー

アルバイトということですが、どのような仕事をしたいのでしょうか?
単なるコーディングのみをやりたいのか、上流工程も含めた開発全体を経験したいのか質問内容からは読み取れません。
40代ということであれば、企業が求めるのは即戦力になる人ではないでしょうか?
プログラマーというよりは、システムエンジニアとして設計業務やマネジメントができる人が求められると思います。
仕事については、VC++(MFC)の開発業務の需要がどれだけあるかによると思います。
VC++にこだわるのであれば、VC++.netも挑戦したほうがアドバンテージがあると思います。
勉強しているから採用されると思っているなら、考えは甘いと思います。
企業は、どれだけVC++を使ってソフト開発を行ってきたかを見ると思います。
ここで質問するよりは、ハローワークや転職者向けの会社説明会などで質問したほうが良いと思います。

Q【VC++】MFC、C++/CLI(CLR)、C#の違い、及び、これからの展望

いつも大変お世話になっています。
VC++初心者です。

VC++6.0(MFC)、VC++2005(CLR)(C++/CLI)(Express Edition)を
同時期に使い始めて何ヶ月か経ちました。
現在では、CLIの方が圧倒的に開発スピードが早く(扱いやすい)、
逆に、MFCの開発スピードが遅く(扱いにくい)、イライラしっぱなしです。
(CLIの開発では、WEBにあるC#のコードを参考にしながら、
 コーディングしています。)

そこで、何点か疑問に思ったので、ご回答頂けませんでしょうか。
(1)CLIとC#を区別した理由は何なのでしょうか。
(2)MFCはこれからも使われるのでしょうか。
 (MFCで新規開発をすることは、まだまだ大勢なのでしょうか。)
(3)VC++2005以降、MFCは有償らしいのですが、
 VC++6.0(MFC)とVC++2005(MFC)は何か変わったのでしょうか。
 (コーディングしやすくなっていますか?)
(4)個人差はあると思いますが、開発スピードが一番早いのは、
 CLR、C#、MFCのどれでしょうか。
 
すぐに返信ができないと思いますが、
宜しければ、ご回答頂けると幸いです。

いつも大変お世話になっています。
VC++初心者です。

VC++6.0(MFC)、VC++2005(CLR)(C++/CLI)(Express Edition)を
同時期に使い始めて何ヶ月か経ちました。
現在では、CLIの方が圧倒的に開発スピードが早く(扱いやすい)、
逆に、MFCの開発スピードが遅く(扱いにくい)、イライラしっぱなしです。
(CLIの開発では、WEBにあるC#のコードを参考にしながら、
 コーディングしています。)

そこで、何点か疑問に思ったので、ご回答頂けませんでしょうか。
(1)CLIとC#を区別した理由は何なのでしょうか...続きを読む

Aベストアンサー

私も私見ですが。

> (1)CLIとC#を区別した理由は何なのでしょうか。
CLIはC++的だが、C#はJava系の文法。近いけど遠い。
要するに慣れ親しんだC++を使いたい人向け。

> (2)MFCはこれからも使われるのでしょうか。
市販ソフトメーカーなど企業で資産のあるところは使っていくでしょうね。シェア・フリーソフトの作家でもそうですが。
C#とCLIは、インストール時に.net frameworkのインストールがあるから嫌われている所があるんじゃないでしょうか。.net系のソフトですよってばれますし。逆コンパイルがネイティブより容易ってのがライセンス認証しているメーカーとかシェアウェア作者さんには気になるポイントでしょう。一応難読化ツールもありますが。

> (4)個人差はあると思いますが、開発スピードが一番早いのは、
> C++/CLI、C#、C++とMFCのどれでしょうか。
C#かなぁ。
まぁ、面倒なソフトになったらどれでもさほど変わり無い気がしますね。ただ、.NET系はガベージコレクションがうれしいですが。

私も私見ですが。

> (1)CLIとC#を区別した理由は何なのでしょうか。
CLIはC++的だが、C#はJava系の文法。近いけど遠い。
要するに慣れ親しんだC++を使いたい人向け。

> (2)MFCはこれからも使われるのでしょうか。
市販ソフトメーカーなど企業で資産のあるところは使っていくでしょうね。シェア・フリーソフトの作家でもそうですが。
C#とCLIは、インストール時に.net frameworkのインストールがあるから嫌われている所があるんじゃないでしょうか。.net系のソフトですよってばれますし。逆コンパイルが...続きを読む


人気Q&Aランキング