はじめまして。
私はC言語はある程度できるようになり、業務でも多少デバッグ/メンテナンスを行っているレベルです。
業務では0からソースを書いたことがなく、人の書いたソースのデバックなどで、まだ真にソースコードを書く力、読む力がついていません。
何かそこそこの大きさの規模のプログラムを自分で作成したり、人のソースコードを解析したりして力をつけたいと思っています。
しかし、ネット上で検索してみても、C言語入門のようなサイトなどしか見当たらなく、数十ステップ程の課題などしか発見できません。
何か程よく参考になりそうなソースコードなどを紹介しているサイトや、こんなものを作ってみればなどの情報などがございましたら
ご教授頂きたいと思います。
抽象的で申し訳ありませんがよろしくお願いします。
No.1ベストアンサー
- 回答日時:
ここのサイトなどどうでしょう?使えそうなプログラムもありそうですし、ソースサイズも大きいとおもいます。
(じつは私も先日知ったばかりで、詳しくはない)http://sourceforge.jp/
上記に登録されている、興味あるプログラムのソースが解読できるまでに、様々な知識が必要になると思います。UnixやCの書籍を何冊か購入しないとダメかもしれませんね。日本語処理だけでも一冊の本になるくらいですし。
私の場合、一般人がインターネット使えないころ、有名なストールマンのGnuライブラリが収録されたテープカートリッジを宅配で送ってもらい、テープからSunのワークステーションにソースを落として、なんとかコンパイルが通るようにソースやMakefileを修正したりする作業とかで覚えました。(膨大なSunのマニュアルには圧倒されました。)
なんにしても、書籍を読むだけじゃあダメで、大きめのソース読んで、機能拡張などの修正作業やって、そこで「あれ?コンパイルエラーになるなあ?」とか「ちゃんと動作してくれない」って、実際に手を動かさないとダメみたいですね。
なお、LinuxをPCに開発環境とソースとともにインストールすると、膨大なC言語やC++のソースがインストールされるので、それを読んでみるのもいいと思いますよ。
お勧めの1冊は、アスキー出版の「エキスパートCプログラミング --知られざるCの深層」です。目からウロコの内容です。
回答ありがとうございます。
Linuxのソースコードですか。一度読んでみようと思ったのですが、
私にはまだ大きすぎでどこから読んでよいものかと困ってしまいました。
ですがやはり手を動かさなきゃ駄目なんですね!
No.3
- 回答日時:
> 何か程よく参考になりそうなソースコードなどを紹介しているサイトや、
読む力を付けたいのであれば、GNU のサイトを参照しただけでも読み切れ
ない位のオープンソースが転がっています。
http://ftp.gnu.org/gnu/
中でも coreutils、findutils、grep、libiconv、gettext、glibc あたり
のソースを、あらかじめ機能を確認した上で読んでみると結構いいかもし
れません。(main から読む必要はないです)
> こんなものを作ってみればなど
オセロプログラム (AI機能までは実装しない) を作る課題が大学の授業
などで出題されているのを何度か目にしたことがあります。
・板の状態を表示する
・人間が場所を指定したところに打って石を返す。
・双方が打てなくなったら試合を終了して結果を表示する。
ライブラリをほとんど使わないので知識はあまり身に付きませんが、「制
御構造」、「ポインタ」、「構造体」の理解度を確かめることくらいはで
きると思います。
ありがとうございます。
http://ftp.gnu.org/gnu/ 見てみます。
オセロプログラムですか、おもしろそうです。
さっそく作ってみます!
No.2
- 回答日時:
「学問に王道無し」
一気に上級者になれる方法はありません。
素人→初心者→初級者→中級者→上級者 と順に経験を
積み重ねて実力を上げていく必要があります。
現在している事すら十分に理解できていない状態で
あれこれと手を伸ばすのは、かえって混乱を招く結果に
しかなりません。
まずは、目の前にある物を確実にこなしていく事が大事
です。
>今人の書いたソースのデバックなどで、まだ真に
>ソースコードを書く力、読む力がついていません。
デバッグをしているのであれば、ソースコードを読む
機会があると思いますが、まずはそのソースコードを
読む練習から始めてはどうでしょうか?
もちろん最初の内から全てを読めるとは限りませんので
短い関数の解析から順にできる範囲で...
それを続けていけば、やがては長いプログラムでも容易
に読めるようになり、自分でも書ける様になります。
学ぶ事は手近な見本を真似る事から始めましょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- オープンソース IT用語、ソースとオブジェクト、改変と翻訳と翻案の違いなど どのようにりかいすればよいのですか 1 2022/09/09 10:02
- その他(プログラミング・Web制作) 大学のゼミのレポートがムカつきます。 R言語というデータ分析に特化したプログラム言語を用いた授業の課 1 2023/06/29 00:50
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- その他(プログラミング・Web制作) プログラミングについて(Python) 添付した画像はC言語で簡単に作ったソースで、1つの配列に5つ 3 2022/09/10 19:15
- 大学受験 娘の大学受験勉強 6 2022/06/30 19:58
- 大学受験 大学受験 辛い 英語 読めない こんにちは。 現在大学受験をしてる者です。 色々あり浪人なんですけど 11 2022/09/06 12:03
- C言語・C++・C# C言語 3 2022/10/04 15:07
- 工学 シミュレーションのソースコードについて 4 2022/07/13 23:20
- 大学受験 自己推薦書の添削や意見・アドバイスお願いします 2 2022/08/27 19:34
- その他(学校・勉強) スシロー “ペロペロ高校生” は、日本の教育の失敗ですね? 20 2023/02/08 07:08
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ライブラリにない関数の定義
-
ソースの追加行数と変更行数
-
【Fortran】共有メモリの使い方
-
Doxygenでの更新履歴(@history...
-
ASPの特殊記号について
-
VB4.0からのバージョンア...
-
VBAで#Regionに変わるものは無...
-
ソースの表示を無効にする方法。
-
phpとaspの違い? 実力の違い?
-
VBAでhtmlソースから特定の文字...
-
HTMLメールを送りたい
-
縮小版のサムネイルの取得(画像...
-
COBOLのCALL文について
-
【VB.NET】WebページのDOMソー...
-
VB詳しい方
-
コメントが閉じてないというエ...
-
おすすめのCMSを教えてください
-
borderの下線が表示されない
-
Visual Source Safe?
-
ソケット通信
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
時間ごとにリンク先を変更させたい
-
レストラン、英語のメニュー表記
-
VBAで#Regionに変わるものは無...
-
Dreamweaverのコードカラーが黒...
-
コメントが閉じてないというエ...
-
#ifdef多用でソースが見づらい
-
ソースの追加行数と変更行数
-
htmlのタブの色変更について
-
JSPの実行結果をHTMLに変換
-
「MicrosoftVisualBasic6.0 行...
-
画像と文字が重なって表示される。
-
プログラム時のヘッダコメント...
-
縮小版のサムネイルの取得(画像...
-
実行オブジェクトからソースを...
-
【VC++6.0(MFC)】Access Violat...
-
VisualBasicがインストールされ...
-
Visual Source Safe?
-
phpとaspの違い? 実力の違い?
-
HTMLソースの文字コードがutfの...
-
VisualStudio2010でデバッグソ...
おすすめ情報