私は他の人のコードを読もうとしていますが、ほとんどのコードは別々のファイルに分割されています。私はまだそれをやる方法を学んでいない。どのようにコードを別々のファイルに分割しますか?そして、関数の正しいソースコードファイルはどうやって見つけられますか?どのようにC言語のソースコードを別々のファイルに分割しますか?
答えて
「ヘッダーファイル」、別名.h
ファイルを使用して、「ソースファイル」の別名「.c
」ファイルの「外部から表示する必要がある」部分を公開しています。多くのファイルでソースを見つけるには、使用しているIDEがさらに良い方法を提供していない限り、ctagsを参照してください。
#includeプリプロセッサディレクティブを使用してください。 #includeは、基本的に、指定したファイルのコピーを、それを置いた行に挿入します。これにより、ソースコードを複数のファイルにモジュール化できますが、それらをまとめてコンパイルすることができます。
参照:http://msdn.microsoft.com/en-us/library/36k2cdd4(VS.71).aspx
あなたの機能は、「.H」ファイルに(すなわち、関数の戻り値の型、名前、およびパラメータ型)宣言することができます - また、 『ヘッダファイル』と呼ばれます。
これらの関数が定義されている(つまり、関数用に記述したコード)ファイルは ".c"ファイルである必要があります。
".c"ファイルの先頭には、ディレクティブが含まれています。このファイルには、ディレクティブが含まれていなければなりません。それは次のようになります。
#include "myHeaderFile.h"
を今、Linuxの/ Mac用/ Windowsの+のcygwinの中の関数のための右のソースコードを見つけるために、私は、コマンドプロンプトでのgrepを使用します。
grep functionName *.c
A ctagsとcscopeのクイックノート。
あなたのコードは、SRCと呼ばれるディレクトリ内にある場合は/あなたが行うことができます。この
#!/bin/sh
find src/ -name '*.c' > cscope.files
find src/ -name '*.C' >> cscope.files
find src/ -name '*.h' >> cscope.files
find src/ -name '*.H' >> cscope.files
ctags -R -V --c-kinds=+p --fields=+S -L cscope.files
cscope -b
今、あなたはctagsのとVimを使用して、メインと呼ばれる機能に直接ジャンプ:
がありますあなたが他の質問で見つけることができるについての他の良い質問、 だから、私はこれ以上深くは行っていません。
/ヨハン
単一のソースファイルは、(好ましくは、密接に)関連した機能のセットを含むべきです。これは、ソースファイルの外の関数に対する一貫した一連のサービスを提供する必要があります。
ソースファイルには、ソースコードで提供されているサービスを宣言するヘッダーが関連付けられている必要があります。 (例外:main()
を含み、他のファイルで使用される関数を提供しない単一のソースファイルは、ヘッダファイルを必要としません)
この機能を使用するその他のファイルには、ヘッダが含まれています。関数を定義するファイルには、定義が宣言と一致することを確認するためのヘッダーも含まれています。
一般に、ソースファイルには最初にヘッダーを含めることをお勧めします。これにより、ヘッダーを「スタンドアロン」で使用できるようになります。つまり、他のソースファイルがヘッダーのサービスを使用する必要がある場合は、最初にヘッダーを含める必要があることを心配することなくヘッダーを含めることができます。
- 1. Cの文字列を別々の部分に分割する
- 2. Djangoのビューを別々のディレクトリとファイルに分割する
- 3. どのようにC#で列を分割しますか?
- 4. `multirust`はどこにRust言語のソースコードをインストールしますか?
- 5. どのようにC言語
- 6. ArrayCollectionをFlexで別々のファイルに分割する方法は?
- 7. スカラケーキパターン:大きなコンポーネントを別々のファイルに分割する
- 8. SQL GROUP_CONCATを別々の列に分割しました
- 9. どのように機能を別々のサービスに分割するのですか
- 10. Regexを単一言語のトークンに分割する多言語の文字列を分割する
- 11. 巨大なWordPressマルチサイトデータベースを別々のMySQLデータベースに分割するにはどうすればよいですか?
- 12. Makefileはソースコードとバイナリのために別々のディレクトリをどのように使用できますか?
- 13. テキストファイルを別々の単語に分割し、Rubyで配列に格納します
- 14. は、どのように私は自分のアプリケーションの言語
- 15. Railsでどのように言語を設定しますか?
- 16. どのように言語バインディングを作成しますか?
- 17. コンテンツ(CMS)と機能を別々のWebサイトに分割していますか?
- 18. Alexa intentHandlersを別々の.jsファイルにどのように置くのですか?
- 19. 1つのNode.jsファイルを別々のモジュールに分割する方法
- 20. 人々はどのようにして独自のプログラミング言語を作成しますか?
- 21. メインクラスを別のファイルに分割する
- 22. djangoで各サイト言語に別々のサブドメインを設定する
- 23. 複数ページのTIFFを別々のページに分割する
- 24. 多くのユニットを別々のゲームフレームに分割すること
- 25. 単一のMysqliデータを別々の変数に分割する
- 26. チタンの文字列をどのように分割(分割)できますか?
- 27. FPGAをC言語のようにプログラミングできますか?
- 28. 言語複数ルールの別の言語をインストールするにはどうすればよいですか?
- 29. ビジュアルプログラミング言語はどのように機能しますか?
- 30. どのようにXMLをmuleで分割しますか?スプリッタ?