2009-07-24 19 views
0

「他の言語の開発者向けCの学習」の書籍またはチュートリアルがありますか?Visual Studio 2008/Visual C++ 2008 Expressを使用したCの学習

私は現在、C言語(多分後でC++ではない)を学びたいと思っています。私はそれを経験していましたが(DOSアプリケーションでBorland Cを使って学校で使っていましたが...)、標準ライブラリ、または "アーキテクチャ"に関するものです。

私の現在のプロジェクトは、私が学ぶために使いたいものですが、Ogg Theoraプレーヤーを書くことです。つまり、私のプロジェクトでlibogg、libvorbis、libtheoraを使用しています。しかしここで私はすでに問題があります:どうすればリンクするのですか?

私はC#開発者ですが、C#ではリファレンスを追加しても問題ありません。しかし、Visual C++(私が実際に大量にやりたいと思っているプロジェクトは既存のC Visual C++プロジェクトに依存しているので、どの場合でも使用するコンパイラ/ IDE)では、プロジェクトのプロパティに圧倒されています。

私はCについて多くのリソースを見つけましたが、多くのものは本当に基本的なものです(機能の説明 - 機能とは何かを知っていますが、CとC#/Java)や本当に学問的なもの(私は睡眠を取るために読んだり、何かを覚えるのではなく)。

私はthis bookが有用であることが判明、私はまた、より簡潔なC#の/のJava/PHP /どのような開発者、またビジュアルC++ 2008

どれでも良いヒントを使用することについて、既存のを目的とした何かを探していますか?

答えて

3

これらのライブラリのプリコンパイルされたバージョン(つまり、.lib個のファイルと、インターフェイス付きの.h個のファイル)があるとします。 Project Propertiesに移動し、左側のツリーからLinker \ Generalを選択します。 「Additional Library Directories」で、.libのファイルがある場所にパスを追加します。次にLinker \ Inputに移動し、.libのファイルをすべて「Additional Dependencies」にリストします。それはリンクの世話をする必要があります。

ヘッダーファイルの場合は、C/C++ \ Generalに移動し、それらのディレクトリを「追加インクルードディレクトリ」に追加する必要があります。その後、いつものように#includeにすることができます。

+0

ありがとうございました。だから、.libは私のアプリケーションの外にあるダイナミックリンクライブラリである.dllと比較して、私自身のコードの一部としてコンパイルできる静的ライブラリを意味します。いずれにせよ、私はいつも.hファイルが必要ですか? (私は、この場合、彼らは常に正しい方法で.libを使って作業する必要があることを確認することを頼む) –

+2

はい、どちらの方法でも.hファイルが必要です - ネイティブDLLには型と関数のメタデータがありません.NETアセンブリとは異なり、コンパイラがそれを知るには.hファイルが必要です。また、DLLを使って作業している場合でも、通常は "エクスポートライブラリ"(実際にはコードを含まない.libファイル)がありますが、適切なシンボルがそのようなDLLに実際に存在することをリンカに伝えます。静的ライブラリとまったく同じ方法でプロジェクトにリンクします。 –

1

Pascalで大学で授業を受けた後、Kernighan and Ritchie(K & R)がCを学ぶのが好きでした。

Basic、Pascal、Assembly、および "Programming Languages"クラスのさまざまなクラスの飛び散りから。 K & Rは簡単に読みやすく、簡潔で、ほとんどのCプログラマーのライブラリの最初の本でなければなりません。

1

プロジェクトから他のライブラリにリンクするもう1つの便利な方法は、既存のアイテムとしてリンクする.libファイルをソリューションエクスプローラに追加することです。 IDEはリンカーに渡すことを知っています。そうすれば、パスとファイル名をリンカー設定の別々の場所に追加する必要はありません。 Cを学んで

、(K & Rのような)最も古典的には非常に多くのPOSIX環境では、標準Cライブラリを使用して目指しています。ウィンドウにCプログラムを書く場合は、特にマルチメディアアプリケーションを作成する場合は、Win32 APIに入る必要があります。 http://msdn.microfost.comは、そのために使用する必要があるAPIのサンプルとチュートリアルの最も有望な出発点です。Win32でプレーンなCでGUIを書く

あなたはおそらく通過したくない痛みの世界です。プレーンなC(C++言語ではない)インターフェイスを備えた軽量のネイティブWin32 UIライブラリを選択する方法については、アドバイスを求めることができます。パベルMinaevの答えに加えて

+0

これはhttp://msdn.microsoft.comです。 – sammyg

1

、私は多くの場合、それが役に立つ簡単に特定の依存関係を定義するプロパティシート(.vsprops)を作成することを見つけます。例えば

私はlibXに依存している場合、私はlibX.vspropsファイルを作成し、正確なパス、libのパスと、私はプロパティシートに必要.libファイルを含める置くことができます。その1つのプロパティシートは、設定やプロジェクト全体で使用できるため、何か変更があった場合に複数の設定を更新する手間が省けます。

あなたはMSDNのプロパティ・シートについての詳細な情報を見つけることができます。

警告:プロパティシートは、ソリューションを閉じると保存されます。手動でまたはビルドを開始するときに、「すべて保存」を実行すると、に保存されます。

1

あなたはフランス語を理解することができれば、良いチュートリアル右hereがあります。

基本的なことだけでなく、より複雑なものについても説明しています。

3

あなたのCプロジェクトにVisual Studioよりも軽量で使いやすいものを使用してみませんか?

私はCode::Blocksをreccommend。私を信じて、それは多くは、Visual Studioよりも軽量だし、私の意見では、それは図書についてはC.に


を開発する学習しながら、それで動作するように多くの方が良いでしょう、私は両方のK&R's C Programming Languageのために行くだろうが、私はまた別の1つをお勧めします:C Primer Plusと私は後者が初心者の本としてもっと適切だと思います。

関連する問題