• ベストアンサー

ソフトウェアの作成

突然な質問ですみません。 これから真剣にフリーソフトを作成したいと考えています。 例えばZIPなどに対応する圧縮ソフトなど・・・・・ 現在C言語をテキスト形式で作成し実行することはできるのですが、 例えばexeファイルを作成するなどの場合、何から手をつけていいのか分かりません。 一通りC言語は覚え、これからのフリーソフトもできればC言語で作成できればと考えていますが、もちろん他のプログラミング言語も使用しなくてはならない状況も考えます。 フリーソフトを自分で作成するに当たり、C言語をメインにどんなものが必要で、どんな書籍が参考になるかなどご教授よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.8

★どうやら『Windowsアプリケーション』を作りたいのですね。 ・他の回答者とその回答への補足などからすると、コンソール・アプリケーションは  作成して 3年になるが、GUI のウインドウがでるアプリケーションはまだ。って事だね。 ・Win32 API のプログラミングは、まずウインドウを作成するところから始まります。 ・コンソール・アプリケーション(CUI) では main 関数から始めますが、Win32 では  WinMain 関数から始めます。これが基本です。 ・本は、もう C 言語の本ではなく、Win32 API の本を用意します。また、サイトも  API 関数の資料や使い方、またはサンプルをたくさん見てなれることです。もちろん  実際にビルド(コンパイル)もして動作の確認をします。 ・また、最初はウインドウを作成するよりも『ダイアログ・アプリケーション』から  スタートすれば以外に早くに GUI のプログラミングに慣れると思います。 ・理由は、ボタンやコンボボックスなどを CreateWindow 関数で作るよりもリソースで  定義しておくだけで簡単に作成できるため。Win32 API の入門かな。この方法が…。 ・ZIPなどに対応する圧縮ソフトを作成したいようですが、ゼロから圧縮・解凍を作成  するのは大変ですので、まずは ZIP32.DLL の関数を使って圧縮ソフトを作成しましょう。 ・まずは、Win32 API による簡単なアプリケーションを作るところからスタートすると  良いでしょう。→『猫でもわかるプログラミング』や『Win32 API入門』でお勉強です。 ・下に『総合アーカイバ』を紹介しますので、ここでフリーの解凍・圧縮 DLL をダウンロード  して、自分のソフトでZIPなどに対応する圧縮ソフトを作成しましょう。ヘッダなども用意。 ・以上。おわり。→まずは Win32 API のプログラミングですよ。 お勧めサイト: ・http://www.kumei.ne.jp/c_lang/→『猫でもわかるプログラミング』 ・http://wisdom.sakura.ne.jp/system/winapi/→『Win32 API入門』 ・http://www.winapi-database.com/category.html→『Windows APIをカテゴリから探す』 関連リンク: ・http://www.csdinc.co.jp/archiver/index.html→『総合アーカイバ』 ・http://www7.ocn.ne.jp/~otoku/free-s-assyuku-kaitou.htm→『圧縮・解凍フリーソフト総合サイト』 ・http://oshiete1.goo.ne.jp/qa2643801.html→『C言語等での画像処理の勉強方法』回答者 No.3

参考URL:
http://www.madobe.net/archiver/index.html
noconan
質問者

お礼

回答ありがとうございました。 大変参考になりました。 書籍ならびに参考サイトまで教えていただきとても助かります。 長い戦いになりそうですががんばってみます。 ありがとうございました。

その他の回答 (7)

  • ape5
  • ベストアンサー率57% (85/148)
回答No.7

VC6.0++で開発されるということですが、Vistaでサポートされないって聞いたような気がするのですが・・・ もし間違ってたらすみません(_ _(--;(_ _(--;

noconan
質問者

お礼

回答ありがとうございました。 Vistaでサポートされなくとも、まず自分のPCで真剣にソフトウェアを作成し自己満足で喜びを得たいと思っていますw その後サポート関係も考慮に入れていきたいと思います。 意見ありがとうございました^^

  • pooami
  • ベストアンサー率47% (9/19)
回答No.6

ANo.2です > きちんとしたフリーソフト(exeファイルなど)という物 > を作ってみたく質問させていただきました。  私が勘違いしていました、てっきり未経験の初心者の方かと思っていましたので・・・  では、一通り必要な知識は既に習得済みと考えて、今後不特定多数のユーザーに利用して貰えるようなツールを開発するのに何が必要かということになると思いますが・・・もちろんプログラミングのスキルを磨くことは常に忘れてはいけませんが、それとは別に、いかに効率的にプログラムを作るか、ということを考えるようにしないと、実際に誰かの役に立つプログラムは作れません。  Zipアーカイバを例に挙げておられましたが、実際にユーザーがついて、バージョンアップを進めるうちに、どんどんとプログラムは肥大化します。  例えば、最初はZip形式に圧縮するだけのプログラムが、次には解凍もできるようになり、さらにはLzh形式にも対応して、次はRarにも・・・などと機能を拡張していった場合、必ずついて回るのがバージョン管理の猥雑さです。  新しいバージョンのプログラムをリリースしたら、これまで普通に使えていた機能にバグが生じた、とか、既存のバグを修正したら別のバグが2つも発生した、なんて事態は珍しくありませんし、いつかは必ず遭遇する事態です。  そんな時,古いバージョンのソースと、最新のソースを比較して、どこに原因があるか調査をする必要があるのですが、その「古いバージョンのソース」をきちんと管理するのは結構大変です。  VC6を使われているということですから、これらのサポートツールとしてVisual Source Safe 6.0を導入されるといいかも知れません。 http://www.amazon.co.jp/Microsoft-Visual-Source-Safe-6-0/dp/B00005OI0A  「なんだこんな地味なもの」  と思われるかも知れませんが、プログラムの品質の維持と言うのは、プログラマーとして絶対に必要とされるスキルです。  先ほども書きましたが、新しい機能をどんどん追加する以上に、これまでのプログラムの品質を維持するのは、実はとても大変な作業ですし目に見えない努力が必要になります、そうした作業を効率化する点で、こうしたツールは役に立つと思います。  開発のノウハウについては、やはりコーディング規約の徹底、ドキュメントや仕様書の整備、オブジェクト指向でのプログラミングなど、巷のIT雑誌の表紙に踊る文言が大切ですが、こうしたノウハウも、才能や知識よりも経験から自分なりのスタイルを見つけてゆくものですから、場数を踏むしかありませんが、広く一般的に言われているような考え方については、以下のような書籍が参考になるかも知れません。 http://www.amazon.co.jp/Code-Complete%E7%AC%AC2%E7%89%88%E3%80%88%E4%B8%8A%E3%80%89%E2%80%95%E5%AE%8C%E5%85%A8%E3%81%AA%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%82%92%E7%9B%AE%E6%8C%87%E3%81%97%E3%81%A6-%E3%82%B9%E3%83%86%E3%82%A3%E3%83%BC%E3%83%96-%E3%83%9E%E3%82%B3%E3%83%8D%E3%83%AB/dp/489100455X/ref=pd_sxp_grid_pt_1_0/250-3216305-7770648 http://www.amazon.co.jp/Code-Complete%E7%AC%AC2%E7%89%88%E3%80%88%E4%B8%8B%E3%80%89%E2%80%95%E5%AE%8C%E5%85%A8%E3%81%AA%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%82%92%E7%9B%AE%E6%8C%87%E3%81%97%E3%81%A6-%E3%82%B9%E3%83%86%E3%82%A3%E3%83%BC%E3%83%96-%E3%83%9E%E3%82%B3%E3%83%8D%E3%83%AB/dp/4891004568/ref=pd_bxgy_b_text_b/250-3216305-7770648  一般に公開するプログラムを作る時には、ユーザー受けすることを考え過ぎることが多いのですが、忘れてはいけないのは、自分は何を作っているのか、これは何に使うプログラムなのか、そうした目的意識に沿った効率的な作業が必要とされます。  プログラムを公開するようになると、多くの人に色々な意見を言われることになると思いますが、それを全部真に受けていては何もできなくなってしまいますし、仮にそんなことをすれば、多くの人の意見を取り入れたけれど、誰にも使って貰えない無駄に大きなプログラムができておしまいです。  プログラムの技術を既に身についておられるのであれば、後はその「スキルを有効に使うスキル」を磨いてください。

noconan
質問者

お礼

回答ありがとうございました。 質問文が雑で説明不足で申し訳ありませんでした。 と、同時にソフトウェア開発に必要な書籍の紹介ありがとうございました。 そしてプログラムに対しての個人の意見を聞けてとても参考になりました。 ありがとうございました^^

  • don_go
  • ベストアンサー率31% (336/1059)
回答No.5

>確かにDebugフォルダが作成されexeファイルが作られていますが、 >ダブルクリックしても黒い画面が一瞬表示されすぐに消えてしまいます。 単に、DOSプロンプト上で出力した後、DOSプロンプトが終了している だけのようですが? プログラムの最後に、scanf()文等を追加して入力待ちにすれば結果が 確認できるはずです。

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.4

> 現在C++6.0を使用 MicrosoftのVisualC++6.0でしょうか? > 現在C言語をテキスト形式で作成し実行することはできるのですが、 > 例えばexeファイルを作成するなどの場合、何から手をつけていいのか分かりません。 でしたら、その△△.cのファイルの場所に、ReleaseとかDebugとかのフォルダが出来ていて、その中に△△.exeが作られているはずです。 △△.exeをダブルクリックで実行して見てください。 VC++6.0の環境ですと、参考書どおりにプログラム書いて[F5]で実行できるので、インタープリタ環境などと勘違いしますが、コンパイラの仕組み、統合開発環境とは、とかの理解から始めるのが吉です。

noconan
質問者

お礼

回答ありがとうございました。 説明不足ですみません。 Visual C++6.0です。 確かにDebugフォルダが作成されexeファイルが作られていますが、ダブルクリックしても黒い画面が一瞬表示されすぐに消えてしまいます。 C++6.0での”実行”では、正常に実行されるのですが・・・・・ コンパイラの仕組み、統合開発環境からですか・・・ その辺のことが書かれている書籍を探してみます^^

noname#96023
noname#96023
回答No.3

まだいまいちわからないですね ビルドすればexeが生成されますけど。。。

noconan
質問者

補足

回答ありがとうございました。 今使用しているソフトはVisual C++6.0です。 プログラム作成後ビルドすると確かにexeファイルが生成されますが、 ダブルクリックしても実行できなんですが・・・・ 実際目的は・・・・例えば”窓の杜”などに紹介されるようなフリーのソフトウェアを作成したいと思い、必要なもののアドバイスをお願いしたく質問させていただきました。 簡単なZIPに圧縮するソフトなどができればと思っているのですが・・・

  • pooami
  • ベストアンサー率47% (9/19)
回答No.2

 開発プラットホームが判らないので、一般的なお話になってしまいますが。 > 現在C言語をテキスト形式で作成し実行することはできるのですが、 > 例えばexeファイルを作成するなどの場合、何から手をつけていいのか分かりません  これはつまり、ソースは書いたことがあるけれどまだコンパイルしたことがない、という意味でしょうか?  だとすればまず必要なのはCコンパイラです、コンパイラはご自身で書いたソース(プログラム文)を実行可能形式のファイルにしてくれるもので、お金を出して買うこともできますし、オンラインで無料で公開されているものもあります、いくつか併用して試してみるのも良いかも知れませんね。 http://homepage3.nifty.com/mmgames/c_guide/p_compiler.html  ただ、詳しい事情は分かりませんが、noconanさんが過去にプログラミングの経験が全くないのであれば「どうしても今すぐC言語を習得しないとダメ」な事情がない限り、いきなりC言語から始めるのはお勧めしません。  私は昔プログラマーだったのですが、最初に触れた言語はVisualBasicでした。  途中何度か「やっぱりCができるとカッコイイよね」みたいなことを考えてCに手を出したのですが、何度も挫折して、結局C言語をマスターするまでに、他に2つの言語をマスターしていました。  誰にとってもそうとは言い切れませんが、C言語はクセが多く、「方言」のようなものもあって最初に始めるにはちょっと難しい点が多いので、比較的習得の楽なBasicやPerlなどで一通りプログラムの知識を身につけた上で、C言語にチャレンジした方が、覚えも速いし挫折するリスクも少なくなるのではないかな、と私は思います。  プログラム言語と言うのは、名前が違っても一般の人が思っている以上によく似ています,誤解を恐れずに言えば、最初に1つの言語をマスターすれば、次に他の言語をマスターするのはずっと楽になります。  ならば最初はとっつきやすい言語から始めたほうがいいと思いませんか?  外国語を習う時に、いきなり(難解と言われる)中国語から始めるよりは、比較的楽な英語をマスターしてからの方が効率がいい。みたいな話もあります。  一番最初に触るのであれば、個人的にはJavaScriptかVBScriptをお勧めします。 http://www.geocities.co.jp/SiliconValley-SanJose/2596/index.html  この2つなら、メモ帳でプログラムを書いたらそのままIEで動かせますから、何の投資もいりませんし、ネット上に非常に多くの情報があって習得は比較的容易です(書籍もたくさんあります)  いずれにしてもプログラムを身につけるのに最も効果的なのは、できるだけ沢山のプログラムを書くことです。  本を読むのも大切ですが、何よりもプログラミングに慣れることが第一ですから、どんな内容でもいいので「1日1ソース」みたいに、プログラムを書いてみて下さい。  習うより慣れです。

参考URL:
http://www5c.biglobe.ne.jp/~ecb/c/c00.html
noconan
質問者

お礼

早速の回答ありがとうございました。 ちょっと補足になってしまうのですが、質問の仕方が悪かったのかもしれません。 実際C言語はもう3年作り続けていますので、ポインタから構造体まで一通りなんでもできます。 しかしその3年は全てコンパイルしてただ単に実行して終了するようなプログラムしか作ってきませんでした。 なので、きちんとしたフリーソフト(exeファイルなど)という物を作ってみたく質問させていただきました。

noname#96023
noname#96023
回答No.1

>現在C言語をテキスト形式で作成し実行することはできるのですが、 >例えばexeファイルを作成するなどの場合、何から手をつけていいのか分かりません。 C言語はテキストのまま実行できません 根本的に間違えているのでは? いい本は紹介できませんが、かなり根本的な部分から勉強な気がします。コンパイル環境を整えることから書かれた本を買ってみてください。

noconan
質問者

補足

すいません。 テキスト形式というのは.txtという意味ではなく、 単に”ファイル名.c”での作成という意味です。 詳しく書くと、現在C++6.0を使用していますが、 新規作成からファイルタブ内にある”テキストファイル”指定から”ファイル名.c”というファイルのみを使用しているということです。

関連するQ&A

  • exeファイルを作成できるプログラミング言語

    私は最近プログラミングを始めたばかりで、 まだCとC++とアセンブリを少し知ってる程度です。 この3つのプログラミング言語ではexeファイルを作成できるのは 知ってるのですが、他のプログラミング言語でもexeファイルなどの 実行形式ファイルを作成できるのでしょうか?

  • C言語・ゲーム作成で挫折気味の対処方法

    こんばんは。ゲーム作成に関わらず、C言語で挫折気味の時、みなさんはどのように対処してきましたか? 以下、私の現在の状況を説明致します。 C言語でゲームを作成するという目的でC言語を勉強し、ゲーム作成の勉強をしていました。 C言語の書籍を一通り行い、DXライブラリを使用して、それに関するサイト(ゲームプログラミングの館等)を参考にしながらゲーム作成の勉強をしていました。 しかし、除々に分からなくなり、手がつけられなくなってしまいました。 ゲームを早く作成してみたいという気持ちが先走り、C言語の知恵が足りない(勉強期間:1ヶ月程度)のに ゲーム作成に取り掛かろうとしたことがが原因のひとつだと思い、もう一度、C言語を勉強し直そうと考えています。 しかし、数ある書籍やサイトの中でどれがゲームプログラミングを学ぶのに適しているの分かりません。 みなさんがゲームプログラミングをするにあたって利用した書籍やサイトはどのようなものでしょうか? また、同じようにC言語でゲームを作成している方にお聞きしたいのですが、C言語をどの程度勉強されてからゲーム作成に取り掛かったのでしょうか? みなさんの意見を参考にして、勉強していきたいので、よろしければアドバイスをお願い致します。

  • 圧縮(zip形式)フォルダ作成

    デスクトップ上の何もない所で、右クリックをしてメニューを出して、 新規作成から、圧縮(zip形式)フォルダを選択しようとしましたが、何故か?圧縮(zip形式)フォルダというメニューが表示されません。 圧縮解凍ソフト「Lhaplus」をインストールしたら、この圧縮(zip形式)フォルダというメニューが表示されなくなりました。 「Lhaplus」をアンインストールすると、圧縮(zip形式)フォルダは表示されます。 「Lhaplus」をインストールした後に、圧縮(zip形式)フォルダを新規で作る方法、右クリックで圧縮(zip形式)フォルダをメニューに表す方法ってあるんでしょうか? ちなみに、「Lhaplus」のかわりに「+Lhaca」という圧縮解凍ソフトをインストールすると、右クリックで新規に、 圧縮(zip形式)フォルダは現れます。 「Lhaplus」をインストールしても、右クリックで新規に、 圧縮(zip形式)フォルダを出す方法があれば教えてください。 お願いします。 Lhaplus

  • 圧縮(zip形式)フォルダを新規作成できない

    エクスプローラの右クリックで「新規作成」とすると、 『圧縮(LZH形式)フォルダ』が表示され、圧縮(zip形式)フォルダの表示がなくzipフォルダを作成できません。 どのような設定を行えば作成可能となるでしょうか。 また、エクスプローラの「送る」により『圧縮(zip形式)フォルダ』とすると、 《ZIPファイルを正しく処理するには、関連付けられているアプリケーションが圧縮(zip形式)フォルダである必要があります。 現在、関連付けられたファイルは圧縮(zip形式)フォルダではありません。 圧縮(zip形式)フォルダを、ZIPファイルを処理するためのアプリケーションとして指定しますか?》 のメッセージを表示します。 なお、microsoft圧縮(LZH形式)フォルダをセットしてあります。

  • サーバに引っかからない圧縮形式

    メールに添付できてパスワードを設定できる フリーの圧縮ソフト又は暗号化ソフトを探しています。 exeやzip形式ですと、相手先のサーバではじかれてしまいますので それ以外の形式で保存できて サーバにはじかれない形式で保存できる 良いフリーソフトはないでしょうか?

  • zipファイルも含むファイル一覧作成ソフト

    zipで圧縮されたファイルが多数あるディレクトリの ファイル一覧を作成したいです。 上位のフォルダを指定して、その配下に含まれるディレクトリとファイルの一覧を 作成してくれるソフトを探しています。 zipファイルの場合は、その中のファイルも一覧化するものがないでしょうか? (zip以外の圧縮ファイルはありません。  また、パスワードもつけていません) なお、その一覧にはファイル名とファイル作成日付が 出力されれば十分です。 以下の条件で探しています。 ・OS:Windows Vista ・フリーソフト ・インストールではなく、exeファイルをコピーするだけで使えるソフト

  • HSP3でフリーソフト作成

    何か簡単なフリーソフト(Vector等で公表されているようなソフト)を作成してみたいと思い、自分で色々調べた結果HSP3というプログラミング言語が一番簡単に作成することができるんじゃないかと思い、早速ダウンロードしました。 http://hsp.tv/idman/download.html しかし、付属のマニュアルには簡単な文字表示や演算結果などの方法しか載っておらず、フリーソフト(拡張子が.exeのやつ)を作成する方法がわかりません。 HSP3で色々とソフトを作りたいのですが(もちろん初歩的で幼稚なやつでいいですが)参考になるサイトなど知っていたら教えていただけないでしょうか? よろしくお願いします。 ちなみに私は Java C の基礎学習を終えている大学生です。 (正直ポインタのところはちょっときつかったですが・・・)

  • 圧縮 zip形式 フォルダーを作成できません

    使用PC Win7 pro 64bit 外付けHDD(buffalo hd-hx1.5tu3)のファイルを 圧縮zipフォルダで作成(ファイル右クリック→送る→圧縮zipフォルダ) しようとすると ”この場所に圧縮 (zip 形式) フォルダを作成できません。代わりにデスクトップに作成しますか?” と出てしまいます。 どうすれば、同じフォルダ内に圧縮zipフォルダを作成できるのでしょうか? 新規作成でも圧縮zipフォルダはでてきません。 ちなみに、Cドライブのファイルは普通にできます。 何か設定が必要なのでしょうか? どなたか、わかるかたおりましたら教えていただけますでしょうか? よろしくお願いいたします。

  • Mac os 9.2 でzipファイルを作成したい

    Mac os 9.2 でzipファイルを作成したい 今更なのですが、Mac os 9.2でZipファイルを作成できるフリー圧縮ソフトと、 またインストールの仕方が分かる方いらっしゃいましたら 教えてください。 illustrator8.01で作成したファイルをZipに圧縮したいのですが sitにしか圧縮できない環境なので、Zip圧縮できるフリーソフトを探しています。 自分なりに探して、「CleanArchiver」や「Mac zip」の情報を得たのですが 上手くダウンロードできず(やはりosが古いせいなのでしょうか?)苦戦しております。 os 9.2からはバージョンが古くネットも正確に見られない状況なのですが、 ネット閲覧できるos xがあるのでファイルのダウンロードは出来ます。 どなたか分かる方いらっしゃったら教えてください。 よろしくお願い申し上げます。

    • ベストアンサー
    • Mac
  • zip 形式 フォルダの作成

    zip 形式 フォルダを作成するには、helpによると・・[ファイル] メニューの [新規作成] をポイントし、[圧縮 (zip 形式)] をクリックします。・・とありますが、当方のPCでは、[ファイル] メニュー、[新規作成]で [圧縮 (zip 形式)] が表示されません。初期設定等があるのでしょうか? OS XP2 因みに、ダウンロード等ではZIPを扱うことができます。

専門家に質問してみよう